//package com.zhangtai.modules.controller.admin;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.zhangtai.exception.RException;
//import com.zhangtai.modules.constVo.*;
//import com.zhangtai.modules.controller.aouthLogin.LoginController;
//import com.zhangtai.modules.controller.aouthLogin.MemberLoginController;
//import com.zhangtai.modules.dao.*;
//import com.zhangtai.modules.dao.ssqlDao.JobDaoMssql;
//import com.zhangtai.modules.dao.ssqlDao.SsqlSalaryGoupDao;
//import com.zhangtai.modules.dto.EmployeeOverworkDto;
//import com.zhangtai.modules.dto.EmployeeSalaryBandMonitoringDto;
//import com.zhangtai.modules.dto.LztkDto;
//import com.zhangtai.modules.entity.certificate.CertificateEntity;
//import com.zhangtai.modules.entity.common.ImgUrlEntity;
//import com.zhangtai.modules.entity.common.IsGroupEntity;
//import com.zhangtai.modules.entity.credential.CredentialHangEntity;
//import com.zhangtai.modules.entity.credential.CredentialInfoEntity;
//import com.zhangtai.modules.entity.employee.*;
//import com.zhangtai.modules.entity.flow.FlowEntity;
//import com.zhangtai.modules.entity.leave.DistributeLeaveEntity;
//import com.zhangtai.modules.entity.leave.LeaveInfoEntity;
//import com.zhangtai.modules.entity.leave.ShiftEntity;
//import com.zhangtai.modules.entity.regular.RegularBpmEntity;
//import com.zhangtai.modules.entity.salary.*;
//import com.zhangtai.modules.entity.system.BpmDataConfigurationEntity;
//import com.zhangtai.modules.entity.transfer.TransferInfoEntity;
//import com.zhangtai.modules.service.certificate.CertificateService;
//import com.zhangtai.modules.service.credential.CredentialHangService;
//import com.zhangtai.modules.service.credential.CredentialInfoService;
//import com.zhangtai.modules.service.employee.*;
//import com.zhangtai.modules.service.flow.FlowService;
//import com.zhangtai.modules.service.leave.DistributeLeaveService;
//import com.zhangtai.modules.service.leave.LeaveInfoService;
//import com.zhangtai.modules.service.leave.ShiftService;
//import com.zhangtai.modules.service.promotion.PromotionService;
//import com.zhangtai.modules.service.regular.RegularBpmService;
//import com.zhangtai.modules.service.salary.ComputerSubsidyService;
//import com.zhangtai.modules.service.salary.SalaryBandService;
//import com.zhangtai.modules.service.salary.SalaryChangeService;
//import com.zhangtai.modules.service.system.BpmDataConfigurationService;
//import com.zhangtai.modules.service.transfer.TransferInfoService;
//import com.zhangtai.utils.*;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import org.junit.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.http.HttpEntity;
//import org.springframework.http.HttpHeaders;
//import org.springframework.http.MediaType;
//import org.springframework.http.ResponseEntity;
//import org.springframework.util.CollectionUtils;
//import org.springframework.util.ObjectUtils;
//import org.springframework.util.StringUtils;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.client.RestTemplate;
//
//import javax.servlet.http.HttpServletRequest;
//import java.math.BigDecimal;
//import java.text.DecimalFormat;
//import java.util.*;
//
//import static com.zhangtai.modules.constVo.CredentialConst.HANG_STATUS_CHECKED;
//
///**
// * @Author: ming
// * @Date: 2020/6/2 0002 下午 8:17
// */
//@RestController
//@Slf4j
//@RequestMapping("bpm")
//@Api(tags = "审核接口BPM审核")
//public class BpmController {
//
//    @Value("${bpm.initiateUrl}")
//    private String initiateUrl;
//    @Value("${bpm.initiateUrl}")
//    private String mobileInitiateUrl;
//    @Value("${bpm.secondInitUrl}")
//    private String secondInitUrl;
//    @Value("${bpm.mobileSecondUrl}")
//    private String mobileSecondUrl;
//    @Value("${bpm.key}")
//    private String key;
//    @Value("${bpm.bsid}")
//    private String bsid;
//    //    private static final String btid = "ZT_HR_DCLYSQ";
//  /*  private static final String btid = "ZT_HR_DCLYSQV2";
//
//    private static final String lessThanOneYearBtid = "ZT_HR_DCFYSQ"; //离职大于一年
//    private static final String awardBusinessObjectId = "ZT_HR_DCJFFP";//薪资奖罚
//    private static final String awarPackageBtid = "ZT_HR_DCJFZB";//薪资奖罚包
//    private static final String dimissionBtid = "ZT_HR_DCJTLZSQ"; //离职申请集团
//    private static final String dimissionBtidArea = "ZT_HR_DCQYLZSQ";//离职申请区域
//    private static final String salaryChangeBtid = "ZT_HR_DCZYJJDX";//薪资变动
//    private static final String dimissionSettlementBtid = "ZT_HR_DCLZJS"; //离职结算
//    private static final String dimissionAuditBtid = "ZT_HR_DCSJTZ"; //离任审计通知
//    private static final String secondmentBtid = "ZT_HR_DCJDSP"; //员工借调
//    private static final String businessObjectId = "ZT_HR_DCLYSQ";
//    private static final String transferInUnitBtid = "ZT_HR_DCDWNBDD";
//    private static final String transferOutUnitBtid = "ZT_HR_DCKDWDD";
//    private static final String promotionManagerObjectId = "ZT_HR_DCGLJJ";
//    private static final String promotionProfessionObjectId = "ZT_HR_DCZYJJ";
//    private static final String leaveBtid = "";
//    private static final String leaveRegionBtid = "ZT_HR_DCQYQJTX";
//    private static final String leaveObjectId = "ZT_HR_DCQJTX";
//    private static final String regularBtid = "ZT_HR_DCJTXYGZZ";
//    private static final String depregularBtid = "ZT_HR_DCQYXYGZZ";
//    private static final String regularBusinessObjectId = "ZT_HR_DCJTXYGZZ";
//    private static final String moreThanOneYearBtid = "ZT_HR_DCFYSQUP"; //
//    private static final String managementRegular = "ZT_HR_DCGLJZZZ"; // 晋级转正
//
//    private static final String certificateBtid = "ZT_HR_DCKJZM";
//
//    private static final String credentialBtid = "ZT_HR_ZZGZ";
//
//    private static final String distributeLeaveBtid = "ZT_HR_LXTXQ";
//    private static final String shiftBtid = "ZT_HR_TBSQ";//调班申请
//    private static final String overWorkid = "ZT_HR_JBSQ";//加班申请
//
//    private static final String overWorSubkid = "jblist";//加班子表申请
//    private static final String overWorkOddid = "ZT_HR_LXJB";//零星加班申请
//
//    private static final String overWorSubOddkid = "ZT_HR_LXJB";//零星加班子表申请
//
//    private static final String reportBackid = "ZT_HR_XJSQ";//销假申请
//
//    private static final String subsidyBtid = "ZT_HR_DNBTSQ";//电脑补贴
//    private static final String otherBtid = "ZT_HR_TYBTSQ";//通用补贴*/
//
//    @Autowired
//    private EmployeeInfoService employeeInfoService;
//    @Autowired
//    private EmployeeBpmService employeeBpmService;
//    @Autowired
//    private LoginController loginController;
//    @Autowired
//    private TransferInfoService transferInfoService;
//
//    @Autowired
//    private ImgUrlDao imgUrlDao;
//
//
//    @Autowired
//    private FlowService flowService;
//    @Autowired
//    private SnowflakeIdWorker snowflakeIdWorker;
//
//
//    @Autowired
//    private SalaryBandService salaryBandService;
//    @Autowired
//    private JobController jobController;
//    @Autowired
//    private NoticeController noticeController;
//    @Autowired
//    private PromotionService promotionService;
//
//
//    @Autowired
//    private AwardApplicantDao awardApplicantDao;
//    @Autowired
//    private AwardInfoDao awardInfoDao;
//
//
//    @Autowired
//    private DimissionInfoDao dimissionInfoDao;
//    @Autowired
//    private DimissionSettlementDao dimissionSettlementDao;
//
//    @Autowired
//    private DimissionAuditDao dimissionAuditDao;
//    @Autowired
//    private RestTemplate restTemplate;
//    @Autowired
//    private MemberLoginController memberLoginController;
//    @Autowired
//    private LeaveInfoService leaveInfoService;
//    @Autowired
//    private RegularBpmService regularBpmService;
//    @Autowired
//    private SalaryChangeService salaryChangeService;
//    @Autowired
//    private RegularBpmDao regularBpmDao;
//    @Autowired
//    private AwardPackageDao awardPackageDao;
//    @Autowired
//    JobDaoMssql jobDaoMssql;
//    @Autowired
//    private EmployeeSecondmentDao employeeSecondmentDao;
//    @Autowired
//    private CertificateService certificateService;
//    @Autowired
//    private CredentialHangService credentialHangService;
//    @Autowired
//    private CredentialInfoService credentialInfoService;
//    @Autowired
//    private DistributeLeaveService distributeLeaveService;
//    @Autowired
//    private ShiftService shiftService;
//    @Autowired
//    private IsGroupDao isGroupDao;
//    @Autowired
//    private EmployeeOverworkService employeeOverworkService;
//
//    @Autowired
//    private SubEmployeeOverworkDao subEmployeeOverworkDao;
//
//    @Autowired
//    private ReportBackInfoService reportBackInfoService;
//    @Autowired
//    private EmployeeOverworkOodService employeeOverworkOodService;
//    @Autowired
//    private EmployeeOverworkSubOddDao employeeOverworkSubOddDao;
//    @Autowired
//    private ComputerSubsidyService computerSubsidyService;
//    @Autowired
//    private SsqlSalaryGoupDao ssqlSalaryGoupDao;
//    @Autowired
//    private BpmDataConfigurationDao bpmDataConfigurationDao;
//
//
//    @GetMapping("/newEmp")
//    @ApiOperation(value = "新员工录入bpm发起接口")
//    public R<String> hrFlow(@RequestParam("oid") Long oid, HttpServletRequest request) throws Exception {
//
//        EmployeeBpmEntity bpmEntity = employeeBpmService.getByIdE(oid);
//        if (ObjectUtils.isEmpty(bpmEntity)) {
//            throw new RException("查询员工为空");
//        }
////        保存流程id
//
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类 0: 新员工录入流程
//        flow.setFlowType(BpmConst.BPM_NEW_EMPLOYEE);
//        //员工id
//        flow.setOid(oid);
//        //关联记录id
//        flow.setRelateId(oid);
//
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = null;
//        try {
//            applyUserCode = userInfo.getString("usercode");
//
//        } catch (Exception e) {
//            e.printStackTrace();
//            return R.error("请先登录");
//        }
//
////        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        log.info("signature:{}", signature);
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_NEW_EMPLOYEE_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//
//
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "新员工录用审核");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//
////
//        /*
//        封装bpn请求体参数
//         */
//        JSONArray jsonArray = getBpmParam(bpmEntity, request);
//
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            jsonArray.add(object);
//        }
//
//
//        jsonObject.put("fields", jsonArray);
//
////        0:流水，1：头像，2：毕业证,3:学位证，4：离职证明,5：体检报告,6:身份证正反面.7bpm附件 ，10：职称证书，11：其他附件
//        ArrayList<Integer> integers = new ArrayList<>();
//        integers.add(13);
//        integers.add(14);
//        integers.add(15);
//        integers.add(16);
//        integers.add(17);
//        integers.add(18);
//        integers.add(19);
//
////        封装附件
//        List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", oid).in("type", integers).eq("is_delete", 0));
//
//
//        jsonObject = getAttachments(jsonObject, imgUrlEntities);
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("请求地址:{}", url);
//        log.info("请求参数是：{}", object);
//        log.info("secondUrl：{}", secondUrl);
//        log.info("jsonArray:{}", jsonArray);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//
//        log.info("返回是:{}", body);
//
//
//        flowService.saveE(flow);
//
//        return R.ok(secondUrl);
//
//    }
//
//    @GetMapping("/regular/{oid}")
//    @ApiOperation(value = "新员工转正bpm发起接口")
//    public R<String> regular(@PathVariable("oid") Long oid, HttpServletRequest request) throws Exception {
//
////        List<RegularBpmEntity> regularBpmEntities = regularBpmDao.selectList(new QueryWrapper<RegularBpmEntity>().eq("oid", oid).eq("is_delete", 0)
////                .orderByDesc("create_time"));
////        if (CollectionUtils.isEmpty(regularBpmEntities)){
////            return R.error("查询员工转正表为空");
////        }
//
////        RegularBpmEntity regularBpmEntity = regularBpmEntities.get(0);
////        Long rid = regularBpmEntity.getId();
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(oid);
//        if (ObjectUtils.isEmpty(employeeInfoEntity)) {
//            throw new RException("查询员工为空");
//        }
////        保存流程id
//
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类 8: 新员工转正流程
//        flow.setFlowType(BpmConst.BPM_REGUALR);
//        //员工id
//        flow.setOid(oid);
//        //关联记录id
//        flow.setRelateId(oid);
//
//
//        JSONObject userInfo = memberLoginController.getUserInfo(request).getData();
//
//        String applyUserCode = null;
//
//        try {
//            applyUserCode = userInfo.getString("usercode");
////            applyUserCode = "ZT028817";
//
//
//        } catch (Exception e) {
//            e.printStackTrace();
//            return R.error("请先登录");
//        }
//
////        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//
//        String orgCodeByUserCode = "";
//
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
////        log.info("signature:{}", signature);
////        String btid = regularBtid;
//////        Long orgId = regularBpmEntity.getOrgId();
////        Long orgId = employeeInfoEntity.getOrgId();
////        Boolean group = isGroup(orgId);
////        if (!group) {
////            btid = depregularBtid;
////        }
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_REGUALR_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//
//        }
////
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//
//
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "新员工转正审核");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
////
//        /*
//        封装bpn请求体参数
//         */
//        JSONArray jsonArray = getRegularParam(employeeInfoEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            jsonArray.add(object);
//        }
//        jsonObject.put("fields", jsonArray);
//
////        封装附件
//
//        String urlIds = employeeInfoEntity.getRegularUrlIds();
//        List<ImgUrlEntity> imgUrlEntities = null;
//        if (!StringUtils.isEmpty(urlIds)) {
//            ArrayList<Long> longs = new ArrayList<>();
//            List list = JSON.parseObject(urlIds, List.class);
//            for (Object o : list) {
//                Long l = TypeCastUtils.toLong(o);
//                longs.add(l);
//            }
//            imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().in("id", longs).eq("is_delete", 0));
//        }
//
//
//        jsonObject = getAttachments(jsonObject, imgUrlEntities);
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("请求地址:{}", url);
//        log.info("请求参数是：{}", object);
//        log.info("secondUrl：{}", secondUrl);
//        log.info("jsonArray:{}", jsonArray);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//
//        log.info("返回是:{}", body);
//
//
//        flowService.saveE(flow);
//
//        return R.ok(secondUrl);
//
//    }
//
//
//    @GetMapping("/reHireEmp")
//    @ApiOperation(value = "复职员工（离职大于一年）录入bpm发起接口")
//    public R<String> reHireFlow(@RequestParam("oid") Long oid, HttpServletRequest request) throws Exception {
//        log.info("开始发起流程：{}", oid);
//
//        EmployeeBpmEntity bpmEntity = employeeBpmService.getByIdE(oid);
//        if (ObjectUtils.isEmpty(bpmEntity)) {
//            throw new RException("查询员工为空");
//        }
////        保存流程id
//
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类 0: 新员工录入流程
//        flow.setFlowType(BpmConst.BPM_NEW_EMPLOYEE);
//        //员工id
//        flow.setOid(oid);
//        //关联记录id
//        flow.setRelateId(oid);
//
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = null;
//        String username = null;
//        try {
//            applyUserCode = userInfo.getString("usercode");
////            username = userInfo.getString("user_name");
//        } catch (Exception e) {
//            e.printStackTrace();
//            return R.error("请先登录");
//        }
//
////        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        log.info("signature:{}", signature);
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_REINSTATEMENT_MAX_EMPLOYEE_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//
//
//        Long orgId = bpmEntity.getOrgId();
//        String orgNameById = jobController.getOrgNameById(orgId);
//        Long unitId = bpmEntity.getUnitId();
//        String unitname = jobController.getOrgNameById(unitId);
//        Long jobId = bpmEntity.getJobId();
//        String jobName = jobController.getJobName(jobId);
//        String name1 = bpmEntity.getName();
//
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "关于" + orgNameById + "-" + unitname + "-" + jobName + "-" + name1 + "入职申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
////
//        /*
//        封装bpm请求体参数
//         */
//        JSONArray jsonArray = getReHireBpmParam(bpmEntity, request);
//
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            jsonArray.add(object);
//        }
//
//        jsonObject.put("fields", jsonArray);
//
//        JSONObject object = new JSONObject();
//
//
////        0:流水，1：头像，2：毕业证,3:学位证，4：离职证明,5：体检报告,6:身份证正反面.7bpm附件 ，10：职称证书，11：其他附件
//        ArrayList<Integer> integers = new ArrayList<>();
//        integers.add(13);
//        integers.add(14);
//        integers.add(15);
//        integers.add(16);
//        integers.add(17);
//        integers.add(18);
//        integers.add(19);
//
////封装附件
//        List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", oid).in("type", integers).eq("is_delete", 0));
//
//        log.info("imgUrlEntities==========>>>:{}", imgUrlEntities);
//        jsonObject = getAttachments(jsonObject, imgUrlEntities);
//
//        object.put("businessObject", jsonObject);
//
//        log.info("请求地址:{}", url);
//        log.info("请求参数是：{}", object);
//        log.info("secondUrl：{}", secondUrl);
//        log.info("jsonArray:{}", jsonArray);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//
//        log.info("返回是:{}", body);
//
//
//        flowService.saveE(flow);
//        //更新录用待办通知为已处理状态
//        noticeController.updateNoticeTodo(oid, NoticeConst.TODO_TYPE_HIRE);
//
//        return R.ok(secondUrl);
//
//    }
//
//    @GetMapping("/reHireEmpLessThanOneYear")
//    @ApiOperation(value = "复职员工(小于一年)bpm发起接口")
//    public R<String> reHireEmpLessThanOneYear(@RequestParam("oid") Long oid, HttpServletRequest request) throws Exception {
//        log.info("开始发起流程：{}", oid);
//
//        EmployeeBpmEntity bpmEntity = employeeBpmService.getByIdE(oid);
//        if (ObjectUtils.isEmpty(bpmEntity)) {
//            throw new RException("查询员工为空");
//        }
////        保存流程id
//
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类 0: 新员工录入流程
//        flow.setFlowType(BpmConst.BPM_NEW_EMPLOYEE);
//        //员工id
//        flow.setOid(oid);
//        //关联记录id
//        flow.setRelateId(oid);
//
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = null;
//        String username = null;
//        try {
//            applyUserCode = userInfo.getString("usercode");
////            username = userInfo.getString("user_name");
//        } catch (Exception e) {
//            e.printStackTrace();
//            return R.error("请先登录");
//        }
//
////        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        log.info("signature:{}", signature);
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_REINSTATEMENT_MIN_EMPLOYEE_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//
//
//        Long orgId = bpmEntity.getOrgId();
//        String orgNameById = jobController.getOrgNameById(orgId);
//        Long unitId = bpmEntity.getUnitId();
//        String unitname = jobController.getOrgNameById(unitId);
//        Long jobId = bpmEntity.getJobId();
//        String jobName = jobController.getJobName(jobId);
//        String name1 = bpmEntity.getName();
//
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "关于" + orgNameById + "-" + unitname + "-" + jobName + "-" + name1 + "入职申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
////
//        /*
//        封装bpm请求体参数
//         */
//        JSONArray jsonArray = getReHireBpmLessThanOneYear(bpmEntity, request);
//
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            jsonArray.add(object);
//        }
//
//        jsonObject.put("fields", jsonArray);
//
//        JSONObject object = new JSONObject();
//
//
////        0:流水，1：头像，2：毕业证,3:学位证，4：离职证明,5：体检报告,6:身份证正反面.7bpm附件 ，10：职称证书，11：其他附件
//        ArrayList<Integer> integers = new ArrayList<>();
//        integers.add(13);
//        integers.add(14);
//        integers.add(15);
//        integers.add(16);
//        integers.add(17);
//        integers.add(18);
//        integers.add(19);
//
////封装附件
//        List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", oid).in("type", integers).eq("is_delete", 0));
//
//        log.info("imgUrlEntities==========>>>:{}", imgUrlEntities);
//        jsonObject = getAttachments(jsonObject, imgUrlEntities);
//
//        object.put("businessObject", jsonObject);
//
//        log.info("请求地址:{}", url);
//        log.info("请求参数是：{}", object);
//        log.info("secondUrl：{}", secondUrl);
//        log.info("jsonArray:{}", jsonArray);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//
//        log.info("返回是:{}", body);
//
//
//        flowService.saveE(flow);
//        //更新录用待办通知为已处理状态
//        noticeController.updateNoticeTodo(oid, NoticeConst.TODO_TYPE_HIRE);
//
//        return R.ok(secondUrl);
//
//    }
//
//
//    @PostMapping("/transferEmp")
//    @ApiOperation(value = "员工调动bpm发起接口")
//    public R<String> transfer(String transferId, HttpServletRequest request) throws Exception {
////        String uuid = UUID.randomUUID().toString().replace("-", "");
//        Long id = Long.parseLong(transferId);
//        TransferInfoEntity entity = transferInfoService.getByIdE(id);
//        if (ObjectUtils.isEmpty(entity)) {
//            throw new RException("查询员工调动为空");
//        }
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(entity.getOid());
//        if (ObjectUtils.isEmpty(employeeInfoEntity)) {
//            throw new RException("查询员工调动为空");
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类 1：员工调动
//        flow.setFlowType(BpmConst.BPM_TRANSFER);
//        //员工id
//        flow.setOid(entity.getOid());
//        //关联记录id
//        flow.setRelateId(id);
//
//
////        将审批状态修改为 0： 待审批
//        entity.setAuditStatus(0);
//
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = userInfo.getString("usercode");
//
////        String applyUserCode = "ZT028443";
////        String username = userInfo.getString("user_name");
////        String username = "15578918857";
//
//        if (StringUtils.isEmpty(applyUserCode)) {
//            return R.error("请先登录");
//        }
////        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
////签名
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//        String signature = EncryptUtil.aesEncrypt(str, key);
//      //  String btid = transferInUnitBtid;
////        if (entity.getType().equals(2)) {
////            btid = transferOutUnitBtid;
////        }
//
//        if(ObjectUtils.isEmpty(employeeInfoEntity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_TRANSFER_TYPE);
//        if (entity.getType().equals(2)) {
//            bpmDataConfigurationEntity=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_TRANSFER_SPAN_TYPE);
//        }
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + "&signature=" + signature;
//        log.info("url:{}", url);
//
//
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "员工调动");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
////
//        /*
//        封装bpm请求体参数
//         */
//        JSONArray jsonArray = getTransferParam(entity, employeeInfoEntity);
//        if (entity.getType().equals(1)) {
////            JSONObject json = new JSONObject();
////            json.put("id", "isgroup");
////            json.put("value", isGroup(entity.getBeforeOrgId()) ? "1" : "2");
////            jsonArray.add(json);
//            if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//                JSONObject object = new JSONObject();
//                object.put("id", "isgroup");
//                object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//                jsonArray.add(object);
//            }
//        }
//
//        jsonObject.put("fields", jsonArray);
//        //带入附件信息
//        if (!StringUtils.isEmpty(entity.getFileUrl())) {
//            String[] files = entity.getFileUrl().split(",");
//            List<ImgUrlEntity> imgUrlEntities = new ArrayList<>();
//            for (String file : files) {
//                ImgUrlEntity entity1 = new ImgUrlEntity();
//                entity1.setUrl(file);
//                imgUrlEntities.add(entity1);
//            }
//            jsonObject = getAttachments(jsonObject, imgUrlEntities);
//        }
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("返回是:{}", body);
//        log.info("secondUrl:{}", secondUrl);
//
////        return "redirect:"+secondUrl;
//        flowService.saveE(flow);
//        transferInfoService.updateByIdE(entity);
//        return R.ok(secondUrl);
//
//
//    }
//
//
//    @PostMapping("/promotionBpm")
//    @ApiOperation(value = "员工晋升bpm发起接口")
//    public R promotionBpm(HttpServletRequest request, String id) throws Exception {
//        PromotionEntity promotionEntity = promotionService.getByIdE(Long.parseLong(id));
////        PromotionEntity promotionEntity = BeanUtilsMabach.doToDto(promotionVo, PromotionEntity.class);
//        JSONObject userInfo = memberLoginController.getUserInfo(request).getData();
//        String applyUserCode = userInfo.getString("usercode");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            throw new RException("请先登录");
//        }
//        Long orgId = userInfo.getLong("orgId");
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类 2：员工晋升
//        flow.setFlowType(BpmConst.BPM_PROMOTION);
//        //员工id
//        flow.setOid(promotionEntity.getOid());
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(promotionEntity.getOid());
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_PROMOTION_MANAGEMENT_TYPE);
//        //专业晋升
//        if (promotionEntity.getPromotionType().equals(1)) {
//            bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_PROMOTION_TYPE);
//        }
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
////        String btid = promotionManagerObjectId;
////        //专业晋升
////        if (promotionEntity.getPromotionType().equals(1)) {
////            btid = promotionProfessionObjectId;
////        }
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "员工晋升");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getPromotionParam(promotionEntity);
////        JSONObject jsonObject1 = new JSONObject();
////        jsonObject1.put("id", "isGroup");
////        jsonObject1.put("value", "2");
////        if (isGroup(orgId)) {
////            jsonObject1.put("value", "1");
////        }
////        array.add(jsonObject1);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        //带入附件信息
//        List<ImgUrlEntity> imgUrlEntities = new ArrayList<>();
//        if (!StringUtils.isEmpty(promotionEntity.getFileUrl())) {
//            String[] fileUrls = promotionEntity.getFileUrl().split(",");
//            if (!ObjectUtils.isEmpty(fileUrls)) {
//                for (String file : fileUrls) {
//                    ImgUrlEntity entity1 = new ImgUrlEntity();
//                    entity1.setUrl(file);
//                    imgUrlEntities.add(entity1);
//                }
//                jsonObject = getAttachments(jsonObject, imgUrlEntities);
//            }
//        }
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//        log.info("请求参数是：{}", object);
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("返回是:{}", body);
//
//        //关联记录id
//        flow.setRelateId(promotionEntity.getPromotionId());
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//    }
//
//
//    @GetMapping("/awardBpm")
//    @ApiOperation(value = "薪资奖罚bpm发起接口")
//    public R awardBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = userInfo.getString("usercode");
////        String username = userInfo.getString("user_name");
//        String jobname = userInfo.getString("jobname");
//        String department = userInfo.getString("department");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            return R.error("请先登录");
//        }
//
//        AwardApplicantEntity awardApplicantEntity = awardApplicantDao.selectById(id);
//        if (ObjectUtils.isEmpty(awardApplicantEntity)) {
//            return R.error("查询AwardApplicantEntity为空");
//        }
//        List<AwardInfoEntity> awardInfoEntityList = awardInfoDao.selectList(new QueryWrapper<AwardInfoEntity>().eq("serial_num", awardApplicantEntity.getSerialNum()).eq("is_delete", 0));
//        String oidStr = "";
//        for (AwardInfoEntity awardInfoEntity : awardInfoEntityList) {
//            oidStr += awardInfoEntity.getOid() + ",";
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 4：新增奖罚
//        flow.setFlowType(BpmConst.BPM_AWARD);
//        //员工id
//        //flow.setOid(oid);
//        //多个员工id
//        flow.setOidGroup(oidStr);
//        //关联记录id
//        flow.setRelateId(id);
//
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(null,BpmConst.BPM_AWARD_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该业务类型未配置的BPM流程参数配置");
//        }
//
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "薪资奖罚");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getAwardApplicantParam(awardApplicantEntity, null);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//
//        JSONArray awardApplicantarray = new JSONArray();
//        JSONObject awardInfoObj = new JSONObject();
//        awardInfoObj.put("listId", "ZT_HR_DCJFFP_DetailTable2");
//        awardInfoObj.put("listName", "员工薪资奖罚信息详情");
//        JSONArray award = new JSONArray();
//        //List<AwardInfoEntity> awardInfoEntityList=awardInfoDao.getAwardInfoBySerialNum(awardApplicantEntity.getSerialNum());
//        for (AwardInfoEntity awardInfoEntity : awardInfoEntityList) {
//            JSONArray arrayinfo = getAwardInfoParam(awardInfoEntity, null);
//            award.add(arrayinfo);
//        }
//        awardInfoObj.put("items", award);
//        awardApplicantarray.add(awardInfoObj);
//        //明细表
//        jsonObject.put("lists", awardApplicantarray);
//        //附件
//        jsonObject = getAttachmentsByUrl(jsonObject, awardApplicantEntity.getUrl());
//
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("薪资奖罚请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("薪资奖罚返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//
//
//    }
//
//    @GetMapping("/awardPackageBpm")
//    @ApiOperation(value = "薪资奖罚包bpm发起接口")
//    public R awardPackageBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = userInfo.getString("usercode");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            return R.error("请先登录");
//        }
//        AwardPackageEntity awardPackageEntity = awardPackageDao.selectById(id);
//        if (ObjectUtils.isEmpty(awardPackageEntity)) {
//            return R.error("查询AwardPackageEntity为空");
//        }
//        List<AwardApplicantEntity> awardApplicantEntityList = awardApplicantDao.selectList(new QueryWrapper<AwardApplicantEntity>().eq("package_id", awardPackageEntity.getId()).eq("is_delete", 0));
//
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 4：新增奖罚
//        flow.setFlowType(BpmConst.BPM_AWARD_PACKAGE);
//        //员工id
//        //flow.setOid(oid);
//        //多个员工id
//        // flow.setOidGroup(oidStr);
//        //关联记录id
//        flow.setRelateId(id);
//
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(null,BpmConst.BPM_AWARD_PACKAGE_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该业务类型未配置的BPM流程参数配置");
//        }
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "薪资奖罚包");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getAwardPackageParam(awardPackageEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//
//        JSONArray awardApplicantarray = new JSONArray();
//        JSONObject awardInfoObj = new JSONObject();
//        awardInfoObj.put("listId", "ZT_HR_DCJFZB_DETL");
//        awardInfoObj.put("listName", "薪资奖罚包公司信息详情");
//        JSONArray award = new JSONArray();
//        //List<AwardInfoEntity> awardInfoEntityList=awardInfoDao.getAwardInfoBySerialNum(awardApplicantEntity.getSerialNum());
//        for (AwardApplicantEntity awardApplicantEntity : awardApplicantEntityList) {
//            JSONArray arrayinfo = getAwardApplicantInfoParam(awardApplicantEntity);
//            award.add(arrayinfo);
//        }
//        awardInfoObj.put("items", award);
//        awardApplicantarray.add(awardInfoObj);
//        //明细表
//        jsonObject.put("lists", awardApplicantarray);
//        //附件
//        jsonObject = getAttachmentsByUrl(jsonObject, awardPackageEntity.getFileUrl());
//
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("薪资奖罚包请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("薪资奖罚包返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//
//
//    }
//
//    @GetMapping("/dimissionApplyBpm")
//    @ApiOperation(value = "离职申请bpm发起接口")
//    public R<String> dimissionApplyBpm(@RequestParam("id") Long id, @RequestParam("oid") Long oid, HttpServletRequest request) throws Exception {
//
//        DimissionInfoEntity dimissionInfoEntity = dimissionInfoDao.selectById(id);
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(dimissionInfoEntity.getOid());
//        if (ObjectUtils.isEmpty(dimissionInfoEntity)) {
//            throw new RException("查询DimissionInfoEntity为空");
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 3 离职申请
//        flow.setFlowType(BpmConst.BPM_DIMISSION);
//        //员工id
//        flow.setOid(oid);
//        //关联记录id
//        flow.setRelateId(id);
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = userInfo.getString("usercode");
//        // String applyUserCode = "test";
////        String username = userInfo.getString("user_name");
//        //  String username = "test";
//
//        if (StringUtils.isEmpty(applyUserCode)) {
//            return R.error("请先登录");
//        }
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//        boolean isGroup = isGroup(employeeInfoEntity.getOrgId());
//        /*String btid = dimissionBtidArea;
//        if (isGroup) {
//            btid = dimissionBtid;
//        }*/
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_DIMISSION_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "离职申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//
//        JSONArray array = getDimissionInfoParamArea(dimissionInfoEntity, employeeInfoEntity);
//        if ("1".equals(bpmDataConfigurationEntity.getIsGroupId())) {
//            array = getDimissionInfoParam(dimissionInfoEntity, employeeInfoEntity);
//        }
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        //   封装附件
//        //List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", id).eq("type", 8).eq("is_delete", 0));
//
//        jsonObject = getAttachmentsByUrl(jsonObject, dimissionInfoEntity.getUrlIds());
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("离职申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("离职申请返回是:{}", body);
//        flowService.saveE(flow);
//
//        log.info("secondUrl:{}", secondUrl);
//        return R.ok(secondUrl);
//
//
//    }
//
//    @GetMapping("/salaryChangeBpm")
//    @ApiOperation(value = "薪资变动专业晋级定薪和无理由定薪bpm发起接口")
//    public R<String> salaryChangeBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//
//        SalaryChangeEntity salaryChangeEntity = salaryChangeService.getByIdE(id);
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(salaryChangeEntity.getOid());
//        if (ObjectUtils.isEmpty(salaryChangeEntity)) {
//            throw new RException("查询SalaryChangeEntity为空");
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 3 离职申请
//        flow.setFlowType(BpmConst.BPM_FIXED_SALARY);
//        //员工id
//        flow.setOid(salaryChangeEntity.getOid());
//        //关联记录id
//        flow.setRelateId(id);
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = userInfo.getString("usercode");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            return R.error("请先登录");
//        }
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//       // String btid = salaryChangeBtid;
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(salaryChangeEntity.getOid());
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_FIXED_SALARY_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        log.info(signature);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "薪资变动");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//
//        JSONArray array = getSalayChangeParam(salaryChangeEntity, employeeInfoEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        //   封装附件
//        //List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", id).eq("type", 8).eq("is_delete", 0));
//
//        jsonObject = getAttachmentsByUrl(jsonObject, salaryChangeEntity.getFileUrl());
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("薪资变动请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("薪资变动返回是:{}", body);
//        flowService.saveE(flow);
//
//        log.info("secondUrl:{}", secondUrl);
//        return R.ok(secondUrl);
//
//
//    }
//
//    @GetMapping("/dimissionAuditBpm")
//    @ApiOperation(value = "离任审计通知bpm发起接口")
//    public R<String> dimissionAuditBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//
//        DimissionAuditEntity dimissionAuditEntity = dimissionAuditDao.selectById(id);
//        if (ObjectUtils.isEmpty(dimissionAuditEntity)) {
//            throw new RException("查询DimissionAuditEntity为空");
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 6 离任审计通知
//        flow.setFlowType(BpmConst.BPM_DIMISSION_AUDIT);
//        //员工id
//        flow.setOid(dimissionAuditEntity.getOid());
//        //关联记录id
//        flow.setRelateId(id);
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = userInfo.getString("usercode");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            throw new RException("请先登录");
//        }
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(dimissionAuditEntity.getOid());
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_DIMISSION_AUDIT_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "离任审计通知");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getDimissionAudit(dimissionAuditEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        //   封装附件
//        //List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", id).eq("type", 8).eq("is_delete", 0));
//
//        jsonObject = getAttachmentsByUrl(jsonObject, dimissionAuditEntity.getAnnexUrl());
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("离职结算请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("离职结算返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//
//
//    }
//
//    @GetMapping("/memberSubsidyBpm")
//    @ApiOperation(value = "自助端各种补贴申请bpm发起接口")
//    public R<String> memberSubsidyBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = memberLoginController.getUserInfo(request).getData();
//        if (ObjectUtils.isEmpty(userInfo)) {
//            throw new RException("请先登录");
//        }
//        String applyUserCode = userInfo.getString("usercode");
//        return subsidy(id, applyUserCode);
//    }
//
//    @GetMapping("/subsidyBpm")
//    @ApiOperation(value = "各种补贴申请bpm发起接口")
//    public R<String> subsidyBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//        if (ObjectUtils.isEmpty(userInfo)) {
//            throw new RException("请先登录");
//        }
//        String applyUserCode = userInfo.getString("usercode");
//        return subsidy(id, applyUserCode);
//    }
//
//    //发起电脑补贴申请bpm
//    public R<String> subsidy(Long id, String applyUserCode) throws Exception {
//        ComputerSubsidyEntity computerSubsidyEntity = computerSubsidyService.getByIdE(id);
//        if (ObjectUtils.isEmpty(computerSubsidyEntity)) {
//            throw new RException("查询ComputerSubsidyEntity为空");
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 5 离职结算
//        flow.setFlowType(BpmConst.BPM_SUBSIDY);
//        //员工id
//        flow.setOid(computerSubsidyEntity.getOid());
//        //关联记录id
//        flow.setRelateId(id);
//
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
////        String btid = subsidyBtid;
////        if (1 == computerSubsidyEntity.getType()) {
////            btid = subsidyBtid;
////        } else {
////            btid = otherBtid;
////        }
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(computerSubsidyEntity.getOid());
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_SUBSIDY_TYPE);
//        if (1 != computerSubsidyEntity.getType()) {
//            bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_SUBSIDY_OTHER_TYPE);
//       }
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "各种补贴申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getSubsidy(computerSubsidyEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        //   封装附件
//        // List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", id).eq("type", 8).eq("is_delete", 0));
//
//        jsonObject = getAttachmentsByUrl(jsonObject, computerSubsidyEntity.getFileUrl());
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("电脑补贴申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("电脑补贴申请返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//
//
//    }
//
//    @GetMapping("/memberShiftBpm")
//    @ApiOperation(value = "自助端调班申请bpm发起接口")
//    public R<String> memberShiftBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = memberLoginController.getUserInfo(request).getData();
//        if (ObjectUtils.isEmpty(userInfo)) {
//            throw new RException("请先登录");
//        }
//        String applyUserCode = userInfo.getString("usercode");
//        return shift(id, applyUserCode);
//    }
//
//    @GetMapping("/shiftBpm")
//    @ApiOperation(value = "调班申请bpm发起接口")
//    public R<String> shiftBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//        if (ObjectUtils.isEmpty(userInfo)) {
//            throw new RException("请先登录");
//        }
//        String applyUserCode = userInfo.getString("usercode");
//        return shift(id, applyUserCode);
//    }
//
//    //发起调班申请bpm
//    public R<String> shift(Long id, String applyUserCode) throws Exception {
//        ShiftEntity shiftEntity = shiftService.getByIdE(id);
//        if (ObjectUtils.isEmpty(shiftEntity)) {
//            throw new RException("查询ShiftEntity为空");
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 5 离职结算
//        flow.setFlowType(BpmConst.BPM_SHIFT);
//        //员工id
//        flow.setOid(shiftEntity.getShiftOid());
//        //关联记录id
//        flow.setRelateId(id);
//
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(shiftEntity.getShiftOid());
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_SHIFT_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "调班申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getShift(shiftEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        //   封装附件
//        // List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", id).eq("type", 8).eq("is_delete", 0));
//
//        jsonObject = getAttachmentsByUrl(jsonObject, shiftEntity.getFileUrl());
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("调班申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("调班申请返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//
//
//    }
//
//    @GetMapping("/dimissionSettlementBpm")
//    @ApiOperation(value = "离职结算bpm发起接口")
//    public R<String> dimissionSettlementBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//
//        DimissionSettlementEntity dimissionSettlementEntity = dimissionSettlementDao.selectById(id);
//        if (ObjectUtils.isEmpty(dimissionSettlementEntity)) {
//            throw new RException("查询DimissionSettlementEntity为空");
//        }
//        DimissionInfoEntity dimissionInfoEntity = dimissionInfoDao.selectById(dimissionSettlementEntity.getDimissionId());
//
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 5 离职结算
//        flow.setFlowType(BpmConst.BPM_DIMISSION_SET);
//        //员工id
//        flow.setOid(dimissionInfoEntity.getOid());
//        //关联记录id
//        flow.setRelateId(id);
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = userInfo.getString("usercode");
//        long orgId = userInfo.getLong("orgId");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            throw new RException("请先登录");
//        }
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(dimissionInfoEntity.getOid());
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_DIMISSION_SET_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "离职结算");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(dimissionInfoEntity.getOid());
//        JSONArray array = getDimissionSettlement(dimissionSettlementEntity, dimissionInfoEntity, employeeInfoEntity, orgId);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//
//        // 结算发起申请 传明源的字段
//        List<LztkDto> mygts = ssqlSalaryGoupDao.getMygt(dimissionInfoEntity.getApplyCode());
//        JSONArray mygtArray=new JSONArray();
//        JSONObject  mygtArrayObj= new JSONObject();
//        mygtArrayObj.put("listId","ZT_HR_DCLZJS_Gtdtl");
//        mygtArrayObj.put("listName","明源系统申请子表");
//        JSONArray myxt=new JSONArray();
//        for(LztkDto mygt:mygts){
//
//            JSONArray  arrayinfo = getMyGt(mygt);
//            myxt.add(arrayinfo);
//        }
//        mygtArrayObj.put("items",myxt);
//        mygtArray.add(mygtArrayObj);
//        jsonObject.put("lists", mygtArray);
//
//        //   封装附件
//        // List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", id).eq("type", 8).eq("is_delete", 0));
//
//        jsonObject = getAttachmentsByUrl(jsonObject, dimissionSettlementEntity.getAnnexUrl());
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("离职结算请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("离职结算返回是:{}", body);
//        flowService.saveE(flow);
//        //回传至明源系统
//        return R.ok(secondUrl);
//
//
//    }
//
//
//    @GetMapping("/employeeSecondmentBpm")
//    @ApiOperation(value = "员工借调申请bpm发起接口")
//    public R<String> employeeSecondmentBpm(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
//
//        EmployeeSecondmentEntity employeeSecondmentEntity = employeeSecondmentDao.selectById(id);
//        if (ObjectUtils.isEmpty(employeeSecondmentEntity)) {
//            throw new RException("查询EmployeeSecondmentEntity为空");
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 12 员工借调
//        flow.setFlowType(BpmConst.BPM_SECONDMENT_APPLY);
//        //员工id
//        flow.setOid(employeeSecondmentEntity.getOid());
//        //关联记录id
//        flow.setRelateId(id);
//
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//
//        String applyUserCode = userInfo.getString("usercode");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            throw new RException("请先登录");
//        }
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(employeeSecondmentEntity.getOid());
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_SECONDMENT_APPLY_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "员工借调申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getEmployeeScondment(employeeSecondmentEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        //   封装附件
//        // List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", id).eq("type", 8).eq("is_delete", 0));
//
//        jsonObject = getAttachmentsByUrl(jsonObject, employeeSecondmentEntity.getFileUrl());
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("员工借调申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("员工借调申请返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//
//
//    }
//
//
//    @PostMapping("/leaveBpm")
//    @ApiOperation(value = "请假调休bpm发起接口")
//    public R<String> leaveBpm(HttpServletRequest request, String id, String isMobile, String range) throws Exception {
//        if (StringUtils.isEmpty(id)) {
//            return R.error("请假调休id不能为空！");
//        }
//        LeaveInfoEntity leaveInfo = leaveInfoService.getByIdE(Long.parseLong(id));
//        if (ObjectUtils.isEmpty(leaveInfo)) {
//            return R.error("请假调休不存在！");
//        }
//        JSONObject data = memberLoginController.getUserInfo(request).getData();
//        Long oid = data.getLong("id"); //只能查询自己的信息
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(oid);
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类 7：请假调休
//        flow.setFlowType(BpmConst.BPM_LEAVE);
//        //员工id
//        flow.setOid(oid);
//
//        //区分是不是区域公司
//      //  String btid = leaveObjectId;
//        Long orgId = employeeInfoEntity.getOrgId();
//        String applyUserCode = employeeInfoEntity.getCode();
//        boolean isRegion = false;
//        if (!isGroup(orgId)) {
//           // btid = leaveRegionBtid;
//            isRegion = true;
//        }
//        String bsid = this.bsid;
//        String initiateUrl = this.initiateUrl;
//        String secondInitUrl = this.secondInitUrl;
//        //判断是否是移动端的bpm
//        if ("1".equals(isMobile)) {
//            initiateUrl = mobileInitiateUrl;
//            secondInitUrl = mobileSecondUrl;
//        }
//        //        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.BPM_LEAVE_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        if ("1".equals(isMobile)) {
//            secondUrl = secondInitUrl + "/MT_Start.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature;
//        }
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "请假调休");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getLeaveParam(leaveInfo, employeeInfoEntity, isRegion, range);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        if (!StringUtils.isEmpty(leaveInfo.getFileUrl())) {
//            String[] fileUrls = leaveInfo.getFileUrl().split(",");
//            List<ImgUrlEntity> imgUrlEntities = new ArrayList<>();
//            for (String fileUrl : fileUrls) {
//                if (!StringUtils.isEmpty(fileUrl)) {
//                    ImgUrlEntity urlEntity = new ImgUrlEntity();
//                    urlEntity.setUrl(fileUrl);
//                    imgUrlEntities.add(urlEntity);
//                }
//            }
//            jsonObject = getAttachments(jsonObject, imgUrlEntities);
//        }
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("返回是:{}", body);
//
//        //关联记录id
//        flow.setRelateId(leaveInfo.getId());
//        flowService.saveE(flow);
//
//        return R.ok(secondUrl);
//    }
//
//
//    @GetMapping("/managementRegular")
//    @ApiOperation(value = "管理转正bpm接口")
//    public R managementRegular(@RequestParam("id") Long id, @RequestParam(value = "urls", required = false) List<String> urls, @RequestParam(value = "remark", required = false) String remark, HttpServletRequest request) throws Exception {
//        JSONObject data = memberLoginController.getUserInfo(request).getData();
//        if (ObjectUtils.isEmpty(data)) {
//            return R.error("请先登录");
//        }
//        Long oid = data.getLong("id");
////        Long regularId = Long.parseLong(id);
//        RegularBpmEntity regularEntity = regularBpmService.getByIdE(id);
//        if (ObjectUtils.isEmpty(regularEntity)) {
//            return R.error("查询晋级信息为空");
//        }
////        保存流程id
//
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类 9: 管理晋级转正
//        flow.setFlowType(BpmConst.MANAGEMENT_BPM_REGUALR);
//        //员工id
//        flow.setOid(oid);
//        //关联记录id
//        flow.setRelateId(id);
//
//
//        JSONObject userInfo = memberLoginController.getUserInfo(request).getData();
//
//        String applyUserCode = null;
//        try {
//            applyUserCode = userInfo.getString("usercode");
////            applyUserCode = "ZT028817";
//
//        } catch (Exception e) {
//            e.printStackTrace();
//            return R.error("请先登录");
//        }
//
////        根据工号查询所在机构代码
////        String orgCodeByUserCode = bpmUserDao.findOrgIdByUserCode(applyUserCode);
//        String orgCodeByUserCode = "";
//
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        log.info("signature:{}", signature);
//
//        EmployeeInfoEntity entity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(entity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(entity.getJobSystemId(),BpmConst.MANAGEMENT_BPM_REGUALR_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//
//
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "管理晋级转正");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        regularEntity.setRemark(remark);
////
//
//        JSONArray jsonArray = getManagementRegularParam(regularEntity, request);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            jsonArray.add(object);
//        }
//
//        jsonObject.put("fields", jsonArray);
//
//
////        封装附件
//
//
////        String urlIds = regularEntity.getUrlIds();
////        List<ImgUrlEntity> imgUrlEntities=null;
////        if (!StringUtils.isEmpty(urlIds)){
////            ArrayList<Long> longs = new ArrayList<>();
////            List list = JSON.parseObject(urlIds, List.class);
////            for (Object o : list) {
////                Long l = TypeCastUtils.toLong(o);
////                longs.add(l);
////            }
////             imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().in("id", longs).eq("is_delete",0));
////        }
//        ArrayList<ImgUrlEntity> imgUrlEntities = new ArrayList<>();
//        if (!CollectionUtils.isEmpty(urls)) {
//            ArrayList<Long> longs = new ArrayList<>();
//            for (String s : urls) {
//                Long l = snowflakeIdWorker.nextId();
//                longs.add(l);
//                ImgUrlEntity imgUrlEntity = new ImgUrlEntity();
//                imgUrlEntity.setUrl(s);
//                imgUrlDao.insert(imgUrlEntity);
//                imgUrlEntities.add(imgUrlEntity);
//
//            }
//            regularEntity.setUrlIds(longs.toString());
//        }
//
//
//        jsonObject = getAttachments(jsonObject, imgUrlEntities);
//        regularBpmDao.updateById(regularEntity); //更新remark和urls
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("请求地址:{}", url);
//        log.info("请求参数是：{}", object);
//        log.info("secondUrl：{}", secondUrl);
//        log.info("jsonArray:{}", jsonArray);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//
//        log.info("返回是:{}", body);
//
//
//        flowService.saveE(flow);
//
//        return R.ok(secondUrl);
//    }
//
//
//    @GetMapping("/memberCertificateBpm")
//    @ApiOperation(value = "证明开具自助端bpm接口")
//    public R certificateBpm(String id, HttpServletRequest request) throws Exception {
//        JSONObject data = memberLoginController.getUserInfo(request).getData();
//        String applyUserCode = data.getString("usercode");
//        return certificateBpm(id, applyUserCode);
//    }
//
//    @GetMapping("/certificateBpm")
//    @ApiOperation(value = "证明开具Hr端bpm接口")
//    public R hrCertificateBpm(String id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//        String applyUserCode = userInfo.getString("usercode");
//        return certificateBpm(id, applyUserCode);
//    }
//
//
//    public R certificateBpm(String id, String applyUserCode) throws Exception {
//
//        if (StringUtils.isEmpty(applyUserCode)) {
//            return R.error("请先登录");
//        }
//
//        CertificateEntity entity = certificateService.getByIdE(Long.parseLong(id));
//        if (ObjectUtils.isEmpty(entity)) {
//            return R.error("证明开据信息为空");
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(1);
//        //流程中各类 12 证明开据
//        flow.setFlowType(BpmConst.BPM_CERTIFICATE);
//        //员工id
//        flow.setOid(entity.getOid());
//        //关联记录id
//        flow.setRelateId(Long.parseLong(id));
//
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//
//        EmployeeInfoEntity employeeInfoEntity=employeeInfoService.getByIdE(entity.getOid());
//        if(ObjectUtils.isEmpty(employeeInfoEntity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_CERTIFICATE_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "证明开据");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//       // EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(entity.getOid());
//        JSONArray array = getCertificate(entity, employeeInfoEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
////        //   封装附件
////        // List<ImgUrlEntity> imgUrlEntities = imgUrlDao.selectList(new QueryWrapper<ImgUrlEntity>().eq("oid", id).eq("type", 8).eq("is_delete", 0));
////
//        //jsonObject = getAttachmentsByUrl(jsonObject, dimissionSettlementEntity.getAnnexUrl());
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("证明开据请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("证明开据返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//    }
//
//    @PostMapping("/credentialBpm")
//    @ApiOperation("资质挂证BPM")
//    public R credentialBpm(String id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = memberLoginController.getUserInfo(request).getData();
//        String applyUserCode = userInfo.getString("usercode");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            return R.error("请先登录");
//        }
//        CredentialInfoEntity infoEntity = credentialInfoService.getByIdE(Long.parseLong(id));
//        if (HANG_STATUS_CHECKED.equals(infoEntity.getHangStatus())) {
//            return R.error("当前资质已挂靠成功！");
//        }
//        CredentialHangEntity credentialHangEntity = credentialHangService.getByCredentialId(Long.parseLong(id));
//        if(ObjectUtils.isEmpty(credentialHangEntity)) {
//            credentialHangEntity = new CredentialHangEntity();
//            credentialHangEntity.setId(snowflakeIdWorker.nextId());
//            credentialHangEntity.setCredentialId(Long.parseLong(id));
//            credentialHangService.saveE(credentialHangEntity);
//        }
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //流程中各类 14 资质挂证
//        flow.setFlowType(BpmConst.BPM_CREDENTIAL);
//        //员工id
//        flow.setOid(infoEntity.getOid());
//        //关联记录id
//        flow.setRelateId(credentialHangEntity.getId());
//        String orgCodeByUserCode = "";
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//        String signature = EncryptUtil.aesEncrypt(str, key);
//
//        EmployeeInfoEntity employeeInfoEntity=employeeInfoService.getByIdE(infoEntity.getOid());
//        if(ObjectUtils.isEmpty(employeeInfoEntity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_CREDENTIAL_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "职称补贴申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getCredentialParam(infoEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//
//        if (!StringUtils.isEmpty(infoEntity.getFileUrl())) {
//            String[] fileUrls = infoEntity.getFileUrl().split(",");
//            List<ImgUrlEntity> imgUrlEntities = new ArrayList<>();
//            for (String u : fileUrls) {
//                if (!StringUtils.isEmpty(u)) {
//                    ImgUrlEntity urlEntity = new ImgUrlEntity();
//                    urlEntity.setUrl(u);
//                    imgUrlEntities.add(urlEntity);
//                }
//            }
//            jsonObject = getAttachments(jsonObject, imgUrlEntities);
//        }
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("职称补贴申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("职称补贴申请返回是:{}", body);
//        flowService.saveE(flow);
//        credentialInfoService.updateByIdE(infoEntity);
//        return R.ok(secondUrl);
//    }
//
//    @PostMapping("/distributeBmp")
//    @ApiOperation("零星调休BPM")
//    public R distributeBmp(String id, HttpServletRequest request) throws Exception {
//        JSONObject userInfo = loginController.getUserInfo(request).getData();
//        String applyUserCode = userInfo.getString("usercode");
//        if (StringUtils.isEmpty(applyUserCode)) {
//            return R.error("请先登录");
//        }
//        DistributeLeaveEntity entity = distributeLeaveService.getByIdE(Long.parseLong(id));
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
////        //将审批状态修改为 2： 审批中
////        flow.setStatus(1);
//        //流程中各类 15 零星调休
//        flow.setFlowType(BpmConst.BPM_DISTRIBUTE_LEAVE);
//        //员工id
//        flow.setOid(entity.getOid());
//        //关联记录id
//        flow.setRelateId(entity.getId());
//
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//
//        EmployeeInfoEntity employeeInfoEntity=employeeInfoService.getByIdE(entity.getOid());
//        if(ObjectUtils.isEmpty(employeeInfoEntity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_DISTRIBUTE_LEAVE_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "零星调休申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getDistributeLeaveParam(entity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//        if (!StringUtils.isEmpty(entity.getFileUrls())) {
//            String[] fileUrls = entity.getFileUrls().split(",");
//            List<ImgUrlEntity> imgUrlEntities = new ArrayList<>();
//            for (String u : fileUrls) {
//                if (!StringUtils.isEmpty(u)) {
//                    ImgUrlEntity urlEntity = new ImgUrlEntity();
//                    urlEntity.setUrl(u);
//                    imgUrlEntities.add(urlEntity);
//                }
//            }
//            jsonObject = getAttachments(jsonObject, imgUrlEntities);
//        }
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("零星调休申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("零星调休申请返回是:{}", body);
//        flowService.saveE(flow);
//        entity.setStatus(LeaveConst.LEAVE_STATUS_CHECKING);
//        distributeLeaveService.updateByIdE(entity);
//        return R.ok(secondUrl);
//
//    }
//
//
//    //
//    @PostMapping("/overWorkBpm")
//    @ApiOperation(value = "自助端加班申请bpm发起接口")
//    public R<String> overWorkBpm(HttpServletRequest request, String id) throws Exception {
//        if (StringUtils.isEmpty(id)) {
//            return R.error("加班申请id不能为空！");
//        }
//        EmployeeOverworkDto overwork = employeeOverworkService.getByIdE(Long.parseLong(id));
//        if (ObjectUtils.isEmpty(overwork)) {
//            return R.error("加班申请不存在！");
//        }
//        JSONObject data = memberLoginController.getUserInfo(request).getData();
//        if (ObjectUtils.isEmpty(data)) {
//            return R.error("请先登录");
//        }
//        Long oid = data.getLong("id"); //只能查询自己的信息
//        String usercode = data.getString("usercode");
////        String usercode="ZT028817";
////        Long oid=new Long(50989147);
//        EmployeeOverworkEntity entity = employeeOverworkService.getById(new Long(id));
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类
//        flow.setFlowType(BpmConst.BPM_OVERWORK);
//        //员工id
//        flow.setOid(oid);
//        //关联记录id
//        flow.setRelateId(overwork.getId());
//
//        String applyUserCode = usercode;
//
//        String orgCodeByUserCode = "";
//
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//
//        EmployeeInfoEntity employeeInfoEntity=employeeInfoService.getByIdE(entity.getOid());
//        if(ObjectUtils.isEmpty(employeeInfoEntity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_OVERWORK_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "加班申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getOverWorkParam(entity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//
//        BpmDataConfigurationEntity bpmDataConfigurationEntityMin=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_OVERWORK_MIN_TYPE);
//        String btidMin=bpmDataConfigurationEntityMin.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//        JSONArray overWorkApplicantarray = new JSONArray();
//        JSONObject overWorkInfoObj = new JSONObject();
//        overWorkInfoObj.put("listId", btidMin);
//        overWorkInfoObj.put("listName", "加班申请子表");
//        JSONArray overWrok = new JSONArray();
//        List<SubEmployeeOverworkEntity> subOverWorkListVo = subEmployeeOverworkDao.getSubOverWorkListVo(entity.getId().toString());
//        for (SubEmployeeOverworkEntity entitySub : subOverWorkListVo) {
//            JSONArray arrayinfo = getSubOverWorkParam(entitySub);
//            overWrok.add(arrayinfo);
//        }
//        overWorkInfoObj.put("items", overWrok);
//        overWorkApplicantarray.add(overWorkInfoObj);
//        //明细表
//        jsonObject.put("lists", overWorkApplicantarray);
//        //附件
//        jsonObject = getAttachmentsByUrl(jsonObject, entity.getUploadFile());
//
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("加班申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("加班申请返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//    }
//
//    //
//    @PostMapping("/reportBackBpm")
//    @ApiOperation(value = "自助端销假申请bpm发起接口")
//    public R<String> reportBackBpm(HttpServletRequest request, String id) throws Exception {
//        if (StringUtils.isEmpty(id)) {
//            return R.error("销假申请id不能为空！");
//        }
//        ReportBackInfoEntity infoEntity = reportBackInfoService.getByIdE(Long.parseLong(id));
//
//        if (ObjectUtils.isEmpty(infoEntity)) {
//            return R.error("销假申请不存在！");
//        }
//        JSONObject data = memberLoginController.getUserInfo(request).getData();
//        if (ObjectUtils.isEmpty(data)) {
//            return R.error("请先登录");
//        }
//        Long oid = data.getLong("id"); //只能查询自己的信息
//        String usercode = data.getString("usercode");
//
////        Long oid = new Long(50989147); //只能查询自己的信息
////        String usercode = "ZT028817";
//
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类
//        flow.setFlowType(BpmConst.BPM_REPORTBACK);
//        //员工id
//        flow.setOid(oid);
//
//
//        String applyUserCode = usercode;
//
//        String orgCodeByUserCode = "";
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//
//        EmployeeInfoEntity employeeInfoEntity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(employeeInfoEntity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_REPORTBACK_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "销假申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getReportBackParam(infoEntity);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("销假申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("销假申请返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//    }
//
//
//    //
//    @PostMapping("/overWorkOddBpm")
//    @ApiOperation(value = "零星加班发起申请bpm发起接口")
//    public R<String> overWorkOddBpm(HttpServletRequest request, String id) throws Exception {
//        if (StringUtils.isEmpty(id)) {
//            return R.error("零星加班申请id不能为空！");
//        }
//        EmployeeOverworkOodEntity overwork = employeeOverworkOodService.getByIdE(Long.parseLong(id));
//        if (ObjectUtils.isEmpty(overwork)) {
//            return R.error("零星加班申请不存在！");
//        }
//        JSONObject data = memberLoginController.getUserInfo(request).getData();
//        if (ObjectUtils.isEmpty(data)) {
//            return R.error("请先登录");
//        }
//        Long oid = data.getLong("id"); //只能查询自己的信息
//        String usercode = data.getString("usercode");
////        String usercode="ZT028817";
////        Long oid=new Long(50989147);
//        long flowId = snowflakeIdWorker.nextId();
//        FlowEntity flow = new FlowEntity();
//        flow.setFlowId(flowId);
//        //将审批状态修改为 2： 审批中
//        flow.setStatus(2);
//        //流程中各类
//        flow.setFlowType(BpmConst.BPM_OVERWORKODD);
//        //员工id
//        flow.setOid(oid);
//        //关联记录id
//        flow.setRelateId(overwork.getId());
//
//        String applyUserCode = usercode;
//
//        String orgCodeByUserCode = "";
//
//
//        String str = bsid + "|" + applyUserCode + "|" + System.currentTimeMillis();
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//
//        EmployeeInfoEntity employeeInfoEntity=employeeInfoService.getByIdE(oid);
//        if(ObjectUtils.isEmpty(employeeInfoEntity.getJobSystemId())){
//            return  R.error("该员工未分配体系");
//        }
//        BpmDataConfigurationEntity bpmDataConfigurationEntity=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_OVERWORKODD_TYPE);
//        String btid=bpmDataConfigurationEntity.getBpmtypeId();
//        if(StringUtils.isEmpty(btid)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//
//        String url = initiateUrl + "?bsid=" + bsid + "&btid=" + btid + "&boid=" + flowId + "&userid=" + applyUserCode + "&orgcode=" + orgCodeByUserCode + "&signature=" + signature;
//        String secondUrl = secondInitUrl + "/Workflow/MTStart2.aspx?BSID=" + bsid + "&BTID=" + btid + "&BOID=" + flowId + "&UserID=" + applyUserCode + "&signature=" + signature + "&IsCheckDataVersion=0";
//        HttpHeaders httpHeaders = new HttpHeaders();
//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//        JSONObject jsonObject = new JSONObject();
//        jsonObject.put("businessObjectId", btid);
//        jsonObject.put("businessObjectName", "零星加班申请");
//        jsonObject.put("businessObjectUrl", "");
//        jsonObject.put("businessObjectModifyUrl", "");
//        jsonObject.put("businessObjectVersion", "");
//        JSONArray array = getOverWorkOddParam(overwork);
//        if(!StringUtils.isEmpty(bpmDataConfigurationEntity.getIsGroupId())){
//            JSONObject object = new JSONObject();
//            object.put("id", "isgroup");
//            object.put("value", bpmDataConfigurationEntity.getIsGroupId());
//            array.add(object);
//        }
//        jsonObject.put("fields", array);
//
//        JSONArray overWorkApplicantarray = new JSONArray();
//        JSONObject overWorkInfoObj = new JSONObject();
//
//        BpmDataConfigurationEntity bpmDataConfigurationEntityMin=getBtid(employeeInfoEntity.getJobSystemId(),BpmConst.BPM_OVERWORKODD_MIN_TYPE);
//        String btidMin=bpmDataConfigurationEntityMin.getBpmtypeId();
//        if(StringUtils.isEmpty(btidMin)){
//            return R.error("该员工所在体系未配置该业务类型的BPM流程参数配置");
//        }
//        overWorkInfoObj.put("listId", btidMin);
//        overWorkInfoObj.put("listName", "零星加班申请子表");
//        JSONArray overWrok = new JSONArray();
//        List<EmployeeOverworkSubOddEntity> subOverWorkListVo = employeeOverworkSubOddDao.getSubOddByteooid(overwork.getId());
//        for (EmployeeOverworkSubOddEntity entitySub : subOverWorkListVo) {
//
//            JSONArray arrayinfo = getSubOverWorkOddParam(entitySub);
//            overWrok.add(arrayinfo);
//        }
//        overWorkInfoObj.put("items", overWrok);
//        overWorkApplicantarray.add(overWorkInfoObj);
//        //明细表
//        jsonObject.put("lists", overWorkApplicantarray);
//        //附件
//        jsonObject = getAttachmentsByUrl(jsonObject, overwork.getUploadFile());
//
//
//        JSONObject object = new JSONObject();
//        object.put("businessObject", jsonObject);
//
//        log.info("零星加班申请请求参数是：{}", object);
//
//        HttpEntity<String> httpEntity = new HttpEntity<>(object.toJSONString(), httpHeaders);
//        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(url, httpEntity, JSONObject.class);
//        JSONObject body = responseEntity.getBody();
//        log.info("零星加班申请返回是:{}", body);
//        flowService.saveE(flow);
//        return R.ok(secondUrl);
//    }
//
//    private JSONArray getSubOverWorkOddParam(EmployeeOverworkSubOddEntity entitySub) {
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//
//
//        jsonObj1.put("id", "userName");
//        jsonObj1.put("value", entitySub.getUserName());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "unitName");
//        jsonObj2.put("value", entitySub.getUnitName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "orgName");
//        jsonObj3.put("value", entitySub.getOrgName());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "unitName");
//        jsonObj4.put("value", entitySub.getUnitName());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "longOverwork");
//        jsonObj5.put("value", entitySub.getLongOverwork());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "remark");
//        jsonObj6.put("value", entitySub.getRemark());
//        jsonArray.add(jsonObj6);
//
//
//        return jsonArray;
//    }
//
//    private JSONArray getOverWorkOddParam(EmployeeOverworkOodEntity overwork) {
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//
//
//        jsonObj1.put("id", "createTime");
//        jsonObj1.put("value", overwork.getCreateTime());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "oprationName");
//        jsonObj2.put("value", overwork.getOprationName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "orgName");
//        jsonObj3.put("value", overwork.getOrgName());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "unitName");
//        jsonObj4.put("value", overwork.getUnitName());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "jobName");
//        jsonObj5.put("value", overwork.getJobName());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "overworkName");
//        jsonObj6.put("value", overwork.getOverworkName());
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "overworkTime");
//        jsonObj7.put("value", overwork.getOverworkTime());
//        jsonArray.add(jsonObj7);
//
//
//        return jsonArray;
//    }
//
//
//    private JSONArray getReportBackParam(ReportBackInfoEntity infoEntity) {
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//
////        List<JSONObject> reAndPu = jobDaoMssql.findReAndPu();
//        Map<Long, String> mapPu = new HashMap<>();
//
//        jsonObj1.put("id", "createTime");
//        jsonObj1.put("value", infoEntity.getCreatetime());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "orgName");
//        jsonObj2.put("value", infoEntity.getOrgName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "unitName");
//        jsonObj3.put("value", infoEntity.getUnitName());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "userName");
//        jsonObj4.put("value", infoEntity.getUserName());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "beginGmtCancel");
//        jsonObj5.put("value", infoEntity.getBeginGmtCancel());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "endGmtCancel");
//        jsonObj6.put("value", infoEntity.getEndGmtCancel());
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "longCancel");
//        jsonObj7.put("value", infoEntity.getLongCancel());
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "remarkCancel");
//        jsonObj8.put("value", infoEntity.getRemarkCancel());
//        jsonArray.add(jsonObj8);
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj8.put("id", "jobName");
//        jsonObj8.put("value", infoEntity.getJobName());
//        jsonArray.add(jsonObj9);
//
//
//        return jsonArray;
//    }
//
//    private JSONArray getManagementRegularParam(RegularBpmEntity regularBpmEntity, HttpServletRequest request) {
//        String flowType = null;
//
//        JSONArray jsonArray = new JSONArray();
//        JSONObject filed1 = new JSONObject();
//        filed1.put("id", "type");
//        filed1.put("value", "管理晋级转正");
//        jsonArray.add(filed1);
//
//        JSONObject filed2 = new JSONObject();
//        filed2.put("id", "code");
//        filed2.put("value", regularBpmEntity.getCode());
//        jsonArray.add(filed2);
//
//        JSONObject filed3 = new JSONObject();
//        filed3.put("id", "name");
//        filed3.put("value", regularBpmEntity.getName());
//        jsonArray.add(filed3);
//
//        Long orgId = regularBpmEntity.getBeforeOrgId();
//        String orgNameById = jobController.getOrgNameById(orgId);
//        JSONObject filed4 = new JSONObject();
//        filed4.put("id", "orgname");
//        filed4.put("value", orgNameById);
//        jsonArray.add(filed4);
//
//        Long unitId = regularBpmEntity.getBeforeUnitId();
//        String unitname = jobController.getOrgNameById(unitId);
//        JSONObject filed5 = new JSONObject();
//        filed5.put("id", "unitname");
//        filed5.put("value", unitname);
//        jsonArray.add(filed5);
//
//        Long jobId = regularBpmEntity.getBeforeJobId();
//        String jobName = jobController.getJobName(jobId);
//        JSONObject filed6 = new JSONObject();
//        filed6.put("id", "jobname");
//        filed6.put("value", jobName);
//        jsonArray.add(filed6);
//
//        Long jobLevelId = regularBpmEntity.getBeforeJobLevelId();
//        String jobLevelNameById = jobController.getJobLevelNameById(jobLevelId);
//        JSONObject filed7 = new JSONObject();
//        filed7.put("id", "joblevel");
//        filed7.put("value", jobLevelNameById);
//        jsonArray.add(filed7);
//
//
////        Date hiredate = regularBpmEntity.getHiredate();
//        Long oid = regularBpmEntity.getOid();
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(oid);
//        Date hiredate = employeeInfoEntity.getHiredate();
//        JSONObject filed8 = new JSONObject();
//        filed8.put("id", "hiredate");
//        filed8.put("value", hiredate == null ? "" : DateUtils.format(hiredate, DateUtils.DATE_PATTERN));
//        jsonArray.add(filed8);
//
//
//        JSONObject filed9 = new JSONObject();
//        filed9.put("id", "probationday");
//        filed9.put("value", regularBpmEntity.getProbationday() + "月");
//        jsonArray.add(filed9);
//
//        Date regularDay = regularBpmEntity.getRegularDay();
//        JSONObject filed10 = new JSONObject();
//        filed10.put("id", "regulardate");
//        filed10.put("value", regularDay == null ? "" : DateUtils.format(regularDay, DateUtils.DATE_PATTERN));
//        jsonArray.add(filed10);
//
//
//        Long afterOrgId = regularBpmEntity.getUnitId();
//        String afterorgname = jobController.getOrgNameById(afterOrgId);
//        JSONObject filed11 = new JSONObject();
//        filed11.put("id", "newunitname"); //晋升部门
//        filed11.put("value", afterorgname);
//        jsonArray.add(filed11);
//
//
//        Long afterJobLevelId = regularBpmEntity.getJobLevelId();
//        String afterJobLevel = jobController.getJobLevelNameById(afterJobLevelId);
//        JSONObject filed13 = new JSONObject();
//        filed13.put("id", "newjoblevel"); //晋升职级
//        filed13.put("value", afterJobLevel);
//        jsonArray.add(filed13);
//
//        Long afterJobId = regularBpmEntity.getJobId();
//        String afterJob = jobController.getJobName(afterJobId);
//        JSONObject filed15 = new JSONObject();
//        filed15.put("id", "newjobname"); //晋升职位
//        filed15.put("value", afterJob);
//        jsonArray.add(filed15);
//
//
//        String regularRemark = regularBpmEntity.getRemark();
//        JSONObject filed14 = new JSONObject();
//        filed14.put("id", "remark");
//        filed14.put("value", StringUtils.isEmpty(regularRemark) ? "" : regularRemark);
//        jsonArray.add(filed14);
//
//        JSONObject filed12 = new JSONObject();
//        filed12.put("id", "sptype");
//        filed12.put("value", "0");  //根据职级判断
////        filed12.put("type", "enum");
//        jsonArray.add(filed12);
//
//
////        JSONObject filed16 = new JSONObject();
////        Boolean group = isGroup(orgId);
////        String isgroup = "2";
////        if (group) {
////            isgroup = "1";
////        }
////        filed16.put("id", "isgroup");
////        filed16.put("value", isgroup);
////        jsonArray.add(filed16);
//
//
////        log.info("jsonArray:{}",jsonArray);
//
//        return jsonArray;
//
//    }
//
//
//    /**
//     * 封装员工调动参数
//     *
//     * @param transferInfoEntity
//     * @return
//     */
//
//    private JSONArray getTransferParam(TransferInfoEntity transferInfoEntity, EmployeeInfoEntity employeeInfoEntity) {
//        log.info("transferInfoEntity:{}", transferInfoEntity);
//
//        String flowType = null;
//        Integer i = 0;
//        Integer j = 1;
//        Integer k = 2;
//        Integer l = 3;
//        Integer p = 4;
//
////        Boolean belowM7P7 = isBelowM7P7(levelId);
////        if (belowM7P7) {
////            flowType = "2";
////        } else {
////            flowType = "1";
////        }
//        //        JSONObject filed12 = new JSONObject();
////        filed12.put("id", "flowType");
////        filed12.put("value", flowType);
////        filed12.put("type", "enum");
////        jsonArray.add(filed12);
//        JSONArray jsonArray = new JSONArray();
////        JSONObject filed1 = new JSONObject();
////        filed1.put("id", "userCode");
////        filed1.put("value", transferInfoEntity.getUserCode());
////        jsonArray.add(filed1);
//        JSONObject filed2 = new JSONObject();
//        filed2.put("id", "name");
//        filed2.put("value", transferInfoEntity.getName());
//        jsonArray.add(filed2);
//        JSONObject filed21 = new JSONObject();
//        filed21.put("id", "hire");
//        filed21.put("value", employeeInfoEntity.getHiredate() == null ? "" : DateUtils.format(employeeInfoEntity.getHiredate(), DateUtils.DATE_PATTERN));
//        jsonArray.add(filed21);
//        JSONObject filed18 = new JSONObject();
//        filed18.put("id", "beforeOrg");
//        filed18.put("value", jobController.orgMap.get(employeeInfoEntity.getOrgId()));
//        jsonArray.add(filed18);
//        JSONObject filed3 = new JSONObject();
//        filed3.put("id", "beforeDepartment");
//        filed3.put("value", transferInfoEntity.getBeforeDepartment());
//        jsonArray.add(filed3);
//
//        JSONObject filed4 = new JSONObject();
//        filed4.put("id", "beforeJobName");
//        filed4.put("value", jobController.jobMap.get(transferInfoEntity.getBeforeJobId()));
//        jsonArray.add(filed4);
//        JSONObject filed13 = new JSONObject();
//        filed13.put("id", "beforeSystem");
//        filed13.put("value", jobController.systemMap.get(transferInfoEntity.getBeforeSystemId()));
//        jsonArray.add(filed13);
//        JSONObject filed19 = new JSONObject();
//        filed19.put("id", "beforeJobLevelType");
//        if (j.equals(employeeInfoEntity.getJobLevelType())) {
//            filed19.put("value", "专业职级");
//        } else {
//            filed19.put("value", "管理职级");
//        }
//        jsonArray.add(filed19);
//        JSONObject filed20 = new JSONObject();
//        filed20.put("id", "beforeJobLevel");
//        filed20.put("value", jobController.jobLevelMap.get(employeeInfoEntity.getJobLevelId()));
//        jsonArray.add(filed20);
//        JSONObject filed5 = new JSONObject();
//        filed5.put("id", "beginTransferDate");
//        filed5.put("value", DateUtils.format(transferInfoEntity.getBeginTransferDate(), "yyyy-MM-dd"));
//        jsonArray.add(filed5);
//
//        JSONObject filed23 = new JSONObject();
//        filed23.put("id", "endTransferDate");
//        filed23.put("value", DateUtils.format(transferInfoEntity.getEndTransferDate(), "yyyy-MM-dd"));
//        jsonArray.add(filed23);
//
//        JSONObject filed24 = new JSONObject();
//        filed24.put("id", "type");
//        if (j.equals(transferInfoEntity.getType())) {
//            filed24.put("value", "单位内部门之间调动");
//        } else if (k.equals(transferInfoEntity.getType())) {
//            filed24.put("value", "跨单位之间调动");
//        }
//        jsonArray.add(filed24);
//
//        JSONObject filed15 = new JSONObject();
//        filed15.put("id", "afterOrg");
//        filed15.put("value", jobController.orgMap.get(transferInfoEntity.getAfterOrgId()));
//        jsonArray.add(filed15);
//
//        JSONObject filed7 = new JSONObject();
//        filed7.put("id", "afterDepartment");
//        filed7.put("value", jobController.orgMap.get(transferInfoEntity.getAfterDepartmentId()));
//        jsonArray.add(filed7);
//
//        JSONObject filed8 = new JSONObject();
//        filed8.put("id", "afterJob");
//        filed8.put("value", jobController.jobMap.get(transferInfoEntity.getAfterJobId()));
//        jsonArray.add(filed8);
//
//        JSONObject filed10 = new JSONObject();
//        filed10.put("id", "afterJobLevel");
//        filed10.put("value", jobController.jobLevelMap.get(transferInfoEntity.getAfterJobLevelId()));
//        jsonArray.add(filed10);
//
//
//        JSONObject filed14 = new JSONObject();
//        filed14.put("id", "afterSystem");
//        filed14.put("value", jobController.systemMap.get(transferInfoEntity.getAfterSystemId()));
//        jsonArray.add(filed14);
//        JSONObject filed16 = new JSONObject();
//        filed16.put("id", "afterJob");
//        filed16.put("value", jobController.jobMap.get(transferInfoEntity.getAfterJobId()));
//        jsonArray.add(filed16);
//        JSONObject filed17 = new JSONObject();
//        filed17.put("id", "afterJobLevelType");
//        if (j.equals(transferInfoEntity.getAfterJobLevelType())) {
//            filed17.put("value", "专业职级");
//        } else {
//            filed17.put("value", "管理职级");
//        }
//        jsonArray.add(filed17);
//        JSONObject filed22 = new JSONObject();
//        filed22.put("id", "date");
//        filed22.put("value", DateUtils.format(new Date(), "yyyy-MM-dd"));
//        jsonArray.add(filed22);
//        JSONObject filed6 = new JSONObject();
//        filed6.put("id", "transferType");
//        JSONObject filed25 = new JSONObject();
//        filed25.put("id", "beforeSubsidyEnd");
//        if (!ObjectUtils.isEmpty(transferInfoEntity.getBeforeSubsidyEnd())) {
//            filed25.put("value", DateUtils.format(transferInfoEntity.getBeforeSubsidyEnd()));
//        } else {
//            filed25.put("value", null);
//        }
//        jsonArray.add(filed25);
//        JSONObject filed26 = new JSONObject();
//        filed26.put("id", "beforeSubsidy");
//        filed26.put("value", transferInfoEntity.getBeforeSubsidy());
//        jsonArray.add(filed26);
//        JSONObject filed27 = new JSONObject();
//        filed27.put("id", "afterSubsidy");
//        filed27.put("value", transferInfoEntity.getAfterSubsidy());
//        jsonArray.add(filed27);
//        JSONObject filed28 = new JSONObject();
//        filed28.put("id", "afterSubsidyStart");
//        if (!ObjectUtils.isEmpty(transferInfoEntity.getAfterSubsidyStart())) {
//            filed28.put("value", DateUtils.format(transferInfoEntity.getAfterSubsidyStart()));
//        } else {
//            filed28.put("value", null);
//        }
//        jsonArray.add(filed28);
//        JSONObject filed29 = new JSONObject();
//        filed29.put("id", "afterSubsidyEnd");
//        if (!ObjectUtils.isEmpty(transferInfoEntity.getAfterSubsidyEnd())) {
//            filed29.put("value", DateUtils.format(transferInfoEntity.getAfterSubsidyEnd()));
//        } else {
//            filed29.put("value", null);
//        }
//        jsonArray.add(filed29);
//        Integer transferType = transferInfoEntity.getTransferType();
//        if (i.equals(transferType)) {
//            filed6.put("value", "平调");
//        } else if (j.equals(transferType)) {
//            filed6.put("value", "借调");
//        } else if (k.equals(transferType)) {
//            filed6.put("value", "降级");
//        } else if (l.equals(transferType)) {
//            filed6.put("value", "专业晋级");
//        } else if (p.equals(transferType)) {
//            filed6.put("value", "管理晋级");
//        }
//        jsonArray.add(filed6);
//
//        return jsonArray;
//
//    }
//
//
//    /**
//     * 封装新员工转正参数
//     *
//     * @param
//     * @return
//     */
//
//    private JSONArray getRegularParam(EmployeeInfoEntity employeeInfoEntity) {
//
//
//        String flowType = null;
//
//        JSONArray jsonArray = new JSONArray();
//        JSONObject filed1 = new JSONObject();
//        filed1.put("id", "type");
//        filed1.put("value", "新员工转正");
//        jsonArray.add(filed1);
//
//        JSONObject filed2 = new JSONObject();
//        filed2.put("id", "code");
//        filed2.put("value", employeeInfoEntity.getCode());
//        jsonArray.add(filed2);
//
//        JSONObject filed3 = new JSONObject();
//        filed3.put("id", "name");
//        filed3.put("value", employeeInfoEntity.getName());
//        jsonArray.add(filed3);
//
//        Long orgId = employeeInfoEntity.getOrgId();
//        String orgNameById = jobController.getOrgNameById(orgId);
//        JSONObject filed4 = new JSONObject();
//        filed4.put("id", "orgname");
//        filed4.put("value", orgNameById);
//        jsonArray.add(filed4);
//
//        Long unitId = employeeInfoEntity.getUnitId();
//        String unitname = jobController.getOrgNameById(unitId);
//        JSONObject filed5 = new JSONObject();
//        filed5.put("id", "unitname");
//        filed5.put("value", unitname);
//        jsonArray.add(filed5);
//
//        Long jobId = employeeInfoEntity.getJobId();
//        String jobName = jobController.getJobName(jobId);
//        JSONObject filed6 = new JSONObject();
//        filed6.put("id", "job");
//        filed6.put("value", jobName);
//        jsonArray.add(filed6);
//
//        Long jobLevelId = employeeInfoEntity.getJobLevelId();
//        String jobLevelNameById = jobController.getJobLevelNameById(jobLevelId);
//        JSONObject filed7 = new JSONObject();
//        filed7.put("id", "joblevel");
//        filed7.put("value", jobLevelNameById);
//        jsonArray.add(filed7);
//
//
//        Date hiredate = employeeInfoEntity.getHiredate();
//        JSONObject filed8 = new JSONObject();
//        filed8.put("id", "hiredate");
//        filed8.put("value", hiredate == null ? "" : DateUtils.format(hiredate, DateUtils.DATE_PATTERN));
//        jsonArray.add(filed8);
//
//        JSONObject filed9 = new JSONObject();
//        filed9.put("id", "probationday");
//        filed9.put("value", employeeInfoEntity.getProbationday() + "个月");
//        jsonArray.add(filed9);
//
//        Date regularDay = employeeInfoEntity.getRegularDay();
//        JSONObject filed10 = new JSONObject();
//        filed10.put("id", "regularday");
//        filed10.put("value", regularDay == null ? "" : DateUtils.format(regularDay, DateUtils.DATE_PATTERN));
//        jsonArray.add(filed10);
//
//
//        Date trainDate = employeeInfoEntity.getTrainDate();
//        JSONObject filed11 = new JSONObject();
//        filed11.put("id", "traindate");
//        filed11.put("value", trainDate == null ? "" : DateUtils.format(trainDate, DateUtils.DATE_PATTERN));
//        jsonArray.add(filed11);
//
//
//        String trainScore = employeeInfoEntity.getTrainScore();
//        JSONObject filed13 = new JSONObject();
//        filed13.put("id", "trainscore");
//        filed13.put("value", trainScore == null ? "" : trainScore);
//        jsonArray.add(filed13);
//
//        String regularRemark = employeeInfoEntity.getRegularRemark();
//        JSONObject filed14 = new JSONObject();
//        filed14.put("id", "remark");
//        filed14.put("value", StringUtils.isEmpty(regularRemark) ? "" : regularRemark);
//        jsonArray.add(filed14);
//
////        JSONObject filed15 = new JSONObject();
////        Boolean group = isGroup(orgId);
////        String isgroup = "2";
////        if (group) {
////            isgroup = "1";
////        }
////        filed15.put("id", "isgroup");
////        filed15.put("value", isgroup);
////        jsonArray.add(filed15);
//
//        JSONObject filed12 = new JSONObject();
//        filed12.put("id", "sptype");
//        filed12.put("value", "0");  //根据职级判断
////        filed12.put("type", "enum");
//        jsonArray.add(filed12);
//
//
////        log.info("jsonArray:{}",jsonArray);
//
//        return jsonArray;
//
//    }
//
//
//    /**
//     * 封装新员工录用bpm参数
//     *
//     * @param bpmEntity
//     * @return
//     */
//    private JSONArray getBpmParam(EmployeeBpmEntity bpmEntity, HttpServletRequest request) throws Exception {
//
//        Long oid = bpmEntity.getOid();
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(oid);
//
//        EmployeeSalaryBandMonitoringDto monitoringDto = findEmployeeSalaryBand(oid, request).getData();
//
//        //        if (ObjectUtils.isEmpty(monitoringDto)){
////            throw new RException("薪资带宽为空");
////        }
//        if (ObjectUtils.isEmpty(monitoringDto)) {
//            monitoringDto = new EmployeeSalaryBandMonitoringDto();
//            monitoringDto.setJobLevelId(14517408l);
//            monitoringDto.setBandSalaryimit(new BigDecimal(15000));
//
//        }
//
////        log.info("monitoringDto:{}", monitoringDto);
//        Long jobLevelId = monitoringDto.getJobLevelId();
//        BigDecimal x1 = bpmEntity.getMonthlySalary();
//        BigDecimal x2 = bpmEntity.getOldSalary();
//        BigDecimal x3 = monitoringDto.getBandSalaryimit();
//        if (x1 == null) {
//            throw new RException("薪资不能为空");
//        }
//        if (x2 == null) {
//            throw new RException("原单位薪资不能为空");
//        }
//        if (x3 == null) {
//            x3 = new BigDecimal(20000);
////            throw new RException("薪资带宽不能为空");
//        }
//
//        BigDecimal x3_130 = x3.multiply(new BigDecimal(1.3)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int i = x1.compareTo(x3_130);// -1,表示小于，0 等于，1 大于
//        BigDecimal x2_130 = x2.multiply(new BigDecimal(1.3)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int j = x2_130.compareTo(x3_130);
//        BigDecimal x3_150 = x3.multiply(new BigDecimal(1.5)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int k = x1.compareTo(x3_150);
//
//
//        String sptype = "4";
//
////        If 0<X1<(X3+X3*30%)
////      And(X2*1.3)<=(X3+X3*30%)
//
//        if (i < 0 && j <= 0) {
//            sptype = "3";
//        }
////        (X3+X3*30%)<X1<=(X3+X3*50%)
////      And (X2*1.3)<=(X3+X3*30%)
//        if (i > 0 && k <= 0 && j <= 0) {
//            sptype = "2";
//
//        }
//
//
////        If 0<X1<(X3+X3*30%)
////      And(X2*1.3)<=(X3+X3*30%)
//
//        if (i < 0 && j <= 0) {
//            sptype = "3";
//        }
////        (X3+X3*30%)<X1<=(X3+X3*50%)
////      And (X2*1.3)<=(X3+X3*30%)
//        if (i > 0 && k <= 0 && j <= 0) {
//            sptype = "2";
//
//        }
////        If  X1>(X3+X3*50%)
////    (X2*1.3)<=(X3+X3*30%)
//
//
//        if (k > 0 && j <= 0) {
//            sptype = "1";
//        }
//
//        JSONArray jsonArray = new JSONArray();
//
//
//        String gender = employeeInfoEntity.getGender();  //性别
//        JSONObject filed0 = new JSONObject();
//        filed0.put("id", "gender");
//        filed0.put("value", "1".equals(gender) ? "男" : "女");
//
//        JSONObject filed01 = new JSONObject();
//        filed01.put("id", "type");
//        filed01.put("value", "新员工录用");
//
//
//        //        集团/区域
//
//   /*     Long orgId1 = employeeInfoEntity.getOrgId();
//        Boolean group = isGroup(orgId1);
//        String isGroup = "2";
//        if (group) {
//            isGroup = "1";
//        }
//        JSONObject filed111 = new JSONObject();
//        filed111.put("id", "isgroup");
//        filed111.put("value", isGroup);*/
//
////        姓名
//        String name = employeeInfoEntity.getName();
//        JSONObject filed1 = new JSONObject();
//        filed1.put("id", "name");
//        filed1.put("value", name);
//
//        Date birthday = employeeInfoEntity.getBirthday(); //出生年月
//        JSONObject filed2 = new JSONObject();
//        filed2.put("id", "birthday");
//        filed2.put("value", DateUtils.format(birthday, DateUtils.DATE_PATTERN));
//
//        String nationalityId = employeeInfoEntity.getNationality(); //民族
//        String nationality = jobController.getNationality(nationalityId);
//        JSONObject filed3 = new JSONObject();
//        filed3.put("id", "nationality");
//        filed3.put("value", nationality);
//
//        String marital = employeeInfoEntity.getMarital(); //婚否
//        JSONObject filed4 = new JSONObject();
//        filed4.put("id", "marital");
//        filed4.put("value", "1".equals(marital) ? "未婚" : "已婚");
//
//
//        String degree = employeeInfoEntity.getDegree(); //学历
////        1：研究生，2：大学本科，3：大专，4：中专，5：技校，6：高中，7：初中，8：小学，9：文盲
//        String degreeName = "";
//        if ("1".equals(degree)) {
//            degreeName = "研究生";
//        }
//        if ("2".equals(degree)) {
//            degreeName = "大学本科";
//        }
//        if ("3".equals(degree)) {
//            degreeName = "大专";
//        }
//        if ("4".equals(degree)) {
//            degreeName = "中专";
//        }
//        if ("5".equals(degree)) {
//            degreeName = "技校";
//        }
//        if ("6".equals(degree)) {
//            degreeName = "高中";
//        }
//        if ("7".equals(degree)) {
//            degreeName = "初中";
//        }
//        if ("8".equals(degree)) {
//            degreeName = "小学";
//        }
//        if ("9".equals(degree)) {
//            degreeName = "文盲";
//        }
//        if ("10".equals(degree)) {
//            degreeName = "博士";
//        }
//
//        JSONObject filed5 = new JSONObject();
//        filed5.put("id", "degree");
//        filed5.put("value", degreeName);
//
//        String workAddress = employeeInfoEntity.getWorkAddress();//工作地点
//        JSONObject filed6 = new JSONObject();
//        filed6.put("id", "workplace");
//        filed6.put("value", workAddress);
//
////        劳动合同/实习/返聘期限
////选择列表：1：1个月，2：2个月，3：3个月，4：半年，5：1年，6：2年，7：3年"
//        Integer labor = bpmEntity.getLaborContractYears();
//        if (labor == null) {
//            labor = 3;
//        }
//        String laborYear = "";
//        if (labor.equals(0)) {
//            laborYear = "半年";
//        }
//        if (labor.equals(1)) {
//            laborYear = "1年";
//        }
//
//        if (labor.equals(2)) {
//            laborYear = "2年";
//        }
//        if (labor.equals(3)) {
//            laborYear = "3年";
//        }
//        JSONObject filed7 = new JSONObject();
//        filed7.put("id", "laborContractYears");
//        filed7.put("value", laborYear);
//
//
//        String speciality = employeeInfoEntity.getSpeciality();  //专业
//
//        JSONObject filed8 = new JSONObject();
//        filed8.put("id", "speciality");
//        filed8.put("value", speciality);
//
////首次工作时间
//        JSONObject filed9 = new JSONObject();
//        filed9.put("id", "beginworkdate");
//        filed9.put("value", DateUtils.format(employeeInfoEntity.getBeginworkdate(), DateUtils.DATE_PATTERN));
//
//
//        //用工类型
//        JSONObject filed10 = new JSONObject();
//        String jobType = bpmEntity.getJobType();
//        String jobTypeName = "";
//        if ("0".equals(jobType)) {
//            jobTypeName = "全日制用工";
//        }
//        if ("1".equals(jobType)) {
//            jobTypeName = "非全日制用工";
//        }
//        if ("2".equals(jobType)) {
//            jobTypeName = "劳务派遣用工";
//        }
//        if ("3".equals(jobType)) {
//            jobTypeName = "退休返聘";
//        }
//        if ("4".equals(jobType)) {
//            jobTypeName = "管培生";
//        }
//        if ("5".equals(jobType)) {
//            jobTypeName = "实习生";
//        }
//        filed10.put("id", "emptype");
//        filed10.put("value", jobTypeName);
//
//
//// 招聘类型
//
//        String socialTrainee = employeeInfoEntity.getSocialTrainee();
//
//        String emp = "";
//
//        if ("0".equals(socialTrainee)) {
//            emp = "社招";
//        }
//        if ("1".equals(socialTrainee)) {
//            emp = "实习生";
//        }
//
//        JSONObject filed60 = new JSONObject();
//        filed60.put("id", "jobType");
//        filed60.put("value", emp);
//
////录用公司
//        Long orgId = bpmEntity.getOrgId();
//        String orgNameById = jobController.getOrgNameById(orgId);
//        JSONObject filed11 = new JSONObject();
//        filed11.put("id", "orgname");
//        filed11.put("value", orgNameById);
//
//        //录用部门
//        Long unitId = bpmEntity.getUnitId();
//        String unitNam = jobController.getOrgNameById(unitId);
//        JSONObject filed12 = new JSONObject();
//        filed12.put("id", "unitname");
//        filed12.put("value", unitNam);
//
//        //录用职级
//        Long levelId = bpmEntity.getJobLevelId();
//        String jobLevelNameById = jobController.getJobLevelNameById(levelId);
//        JSONObject filed13 = new JSONObject();
//        filed13.put("id", "joblevel");
//        filed13.put("value", jobLevelNameById);
//
//
////录用岗位
//        Long jobId = bpmEntity.getJobId();
//        String jobName = jobController.getJobName(jobId);
//        JSONObject filed15 = new JSONObject();
//        filed15.put("id", "jobname");
//        filed15.put("value", jobName);
//
//
////拟入职日期
//        JSONObject filed16 = new JSONObject();
//        filed16.put("id", "hiredate");
//        Date hiredate = bpmEntity.getHiredate();
//        if (hiredate != null) {
//            filed16.put("value", DateUtils.format(hiredate, DateUtils.DATE_PATTERN));
//        }
//
////试用期
//        Integer probationday = bpmEntity.getProbationday();
//        JSONObject filed17 = new JSONObject();
//        filed17.put("id", "probationday");
//        filed17.put("value", probationday == null ? "" : probationday + "个月");
//
//
////            试用期月薪
//        JSONObject filed18 = new JSONObject();
//        filed18.put("id", "probationsalary");
//        filed18.put("value", bpmEntity.getProMonthSalary());
//
////            试用期基本工资
//
//        JSONObject filed19 = new JSONObject();
//        filed19.put("id", "probationbasicsalary");
//        filed19.put("value", bpmEntity.getProBasicSalary());
//
////试用期模块工资
//        JSONObject filed20 = new JSONObject();
//        filed20.put("id", "probationmodulesalary");
//        filed20.put("value", bpmEntity.getProPerformanceSalary());
//
//
//        //转正月薪
//        JSONObject filed21 = new JSONObject();
//        filed21.put("id", "regularsalary");
//        filed21.put("value", bpmEntity.getMonthlySalary());
//
//        //转正基础工资
//
//        JSONObject filed22 = new JSONObject();
//        filed22.put("id", "regularbasicsalary");
//        filed22.put("value", bpmEntity.getBasicSalary());
//
//        //转正模块工资
//        JSONObject filed23 = new JSONObject();
//        filed23.put("id", "regularmodulesalary");
//        filed23.put("value", bpmEntity.getPerformance());
//
//
//        //原单位月薪
//        JSONObject filed24 = new JSONObject();
//        filed24.put("id", "oldsalary");
//        filed24.put("value", bpmEntity.getOldSalary());
//
//
//        //是否社保异地代缴
//        Integer isRemoteSocialSecurity = bpmEntity.getIsRemoteSocialSecurity();
//        Integer n = 1;
//        JSONObject filed50 = new JSONObject();
//        filed50.put("id", "isremote");
//        filed50.put("value", n.equals(isRemoteSocialSecurity) ? "是" : "否");
//
////        代缴省市
//        String city = bpmEntity.getSocialSecurityCity();
//        Long l = null;
//        if (!StringUtils.isEmpty(city)) {
//            l = TypeCastUtils.toLong(city);
//        }
//        String paycity = jobController.getPaycity(l);
//
//        String province = bpmEntity.getSocialSecurityProvince();
//        Long s = null;
//        if (!StringUtils.isEmpty(province)) {
//            s = TypeCastUtils.toLong(province);
//        }
//        String payprovince = jobController.getPaycity(s);
//
//        String payAddr = "";
//
//        if (!StringUtils.isEmpty(payprovince) && !StringUtils.isEmpty(paycity)) {
//            payAddr = payprovince + paycity;
//        }
//        if (!StringUtils.isEmpty(payprovince) && payprovince.equals(paycity)) {
//            payAddr = payprovince;
//        }
//        Integer f = 0;
//        if (f.equals(isRemoteSocialSecurity)) {
//            payAddr = "";
//        }
//
//
//        JSONObject filed26 = new JSONObject();
//        filed26.put("id", "paycity");
//        filed26.put("value", payAddr);
//
//
//        //        流程类型
//        JSONObject filed27 = new JSONObject();
//        filed27.put("id", "sptype");
//        filed27.put("value", sptype);
//
//
//        //        备注
//        JSONObject filed28 = new JSONObject();
//        filed28.put("id", "remark");
//        filed28.put("value", bpmEntity.getEmpRemark());
//
//        jsonArray.add(filed0);
//        jsonArray.add(filed01);
//        jsonArray.add(filed1);
//       // jsonArray.add(filed111);
//        jsonArray.add(filed2);
//
//        jsonArray.add(filed3);
//        jsonArray.add(filed4);
//        jsonArray.add(filed5);
//        jsonArray.add(filed6);
//        jsonArray.add(filed7);
//        jsonArray.add(filed8);
//        jsonArray.add(filed9);
//        jsonArray.add(filed10);
//        jsonArray.add(filed11);
//        jsonArray.add(filed12);
//        jsonArray.add(filed13);
////        jsonArray.add(filed14);
//        jsonArray.add(filed15);
//        jsonArray.add(filed16);
//        jsonArray.add(filed17);
//        jsonArray.add(filed18);
//        jsonArray.add(filed19);
//        jsonArray.add(filed20);
//        jsonArray.add(filed21);
//        jsonArray.add(filed22);
//        jsonArray.add(filed23);
//        jsonArray.add(filed24);
////        jsonArray.add(filed25);
//        jsonArray.add(filed26);
//        jsonArray.add(filed27);
//        jsonArray.add(filed28);
//        jsonArray.add(filed50);
//        jsonArray.add(filed60);
//
//
//        return jsonArray;
//    }
//
//
//    /**
//     * 封装复职员工(大于一年)录用bpm参数
//     *
//     * @param bpmEntity
//     * @return
//     */
//    private JSONArray getReHireBpmParam(EmployeeBpmEntity bpmEntity, HttpServletRequest request) throws Exception {
//        Long oid = bpmEntity.getOid();
//
//        EmployeeSalaryBandMonitoringDto monitoringDto = findEmployeeSalaryBand(oid, request).getData();
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(oid);
//        Integer isReinstate = bpmEntity.getIsReinstate();
//
//        //        if (ObjectUtils.isEmpty(monitoringDto)){
////            throw new RException("薪资带宽为空");
////        }
//        if (ObjectUtils.isEmpty(monitoringDto)) {
//            monitoringDto = new EmployeeSalaryBandMonitoringDto();
//            monitoringDto.setJobLevelId(14517408l);
//            monitoringDto.setBandSalaryimit(new BigDecimal(15000));
//
//        }
//
//        log.info("monitoringDto:{}", monitoringDto);
//        Long jobLevelId = monitoringDto.getJobLevelId();
//        BigDecimal x1 = bpmEntity.getMonthlySalary();
//        BigDecimal x2 = bpmEntity.getOldSalary();
//        BigDecimal x3 = monitoringDto.getBandSalaryimit();
//        if (x1 == null) {
//            x1 = new BigDecimal(10000);
////            throw new RException("薪资不能为空");
//        }
//        if (x2 == null) {
//            x2 = new BigDecimal(10000);
////            throw new RException("原单位薪资不能为空");
//        }
//        if (x3 == null) {
//            x3 = new BigDecimal(20000);
////            throw new RException("薪资带宽不能为空");
//        }
//
//        BigDecimal x3_130 = x3.multiply(new BigDecimal(1.3)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int i = x1.compareTo(x3_130);// -1,表示小于，0 等于，1 大于
//        BigDecimal x2_130 = x2.multiply(new BigDecimal(1.3)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int j = x2_130.compareTo(x3_130);
//        BigDecimal x3_150 = x3.multiply(new BigDecimal(1.5)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int k = x1.compareTo(x3_150);
//
//
//        String sptype = "4";
//
////        If 0<X1<(X3+X3*30%)
////      And(X2*1.3)<=(X3+X3*30%)
//
//        if (i < 0 && j <= 0) {
//            sptype = "3";
//        }
////        (X3+X3*30%)<X1<=(X3+X3*50%)
////      And (X2*1.3)<=(X3+X3*30%)
//        if (i > 0 && k <= 0 && j <= 0) {
//            sptype = "2";
//
//        }
//
//
////        If 0<X1<(X3+X3*30%)
////      And(X2*1.3)<=(X3+X3*30%)
//
//        if (i < 0 && j <= 0) {
//            sptype = "3";
//        }
////        (X3+X3*30%)<X1<=(X3+X3*50%)
////      And (X2*1.3)<=(X3+X3*30%)
//        if (i > 0 && k <= 0 && j <= 0) {
//            sptype = "2";
//
//        }
////        If  X1>(X3+X3*50%)
////    (X2*1.3)<=(X3+X3*30%)
//
//
//        if (k > 0 && j <= 0) {
//            sptype = "1";
//        }
//
//
//        Integer w = 1;
//        Integer e = 2;
//
//
//        JSONArray jsonArray = new JSONArray();
//
////判断是集团/区域
////        Long orgId1 = employeeInfoEntity.getOrgId();
////        Boolean group = isGroup(orgId1);
////        String isGroup = "2";
////        if (group) {
////            isGroup = "1";
////        }
////        JSONObject filed111 = new JSONObject();
////        filed111.put("id", "isgroup");
////        filed111.put("value", isGroup);
//
//        JSONObject filed01 = new JSONObject();
//        filed01.put("id", "type");
//        filed01.put("value", "离职大于一年");
//
//
////        JSONObject filed1 = new JSONObject();
////        filed1.put("id", "code");
////        filed1.put("value", bpmEntity.getCode());
//
//        String gender = employeeInfoEntity.getGender();  //性别
//        JSONObject filed2 = new JSONObject();
//        filed2.put("id", "gender");
//        filed2.put("value", "1".equals(gender) ? "男" : "女");
//
//        String name = employeeInfoEntity.getName();
//        JSONObject filed20 = new JSONObject();
//        filed20.put("id", "name");
//        filed20.put("value", name);
//
//        Date birthday = employeeInfoEntity.getBirthday(); //出生年月
//        JSONObject filed21 = new JSONObject();
//        filed21.put("id", "birthday");
//        filed21.put("value", DateUtils.format(birthday, DateUtils.DATE_PATTERN));
//
//        String nationalityId = employeeInfoEntity.getNationality(); //民族
//        String nationality = jobController.getNationality(nationalityId);
//        JSONObject filed22 = new JSONObject();
//        filed22.put("id", "nationality");
//        filed22.put("value", nationality);
//
//        String marital = employeeInfoEntity.getMarital(); //婚否
//        JSONObject filed23 = new JSONObject();
//        filed23.put("id", "marital");
//        filed23.put("value", "1".equals(marital) ? "未婚" : "已婚");
//
//
//        String degree = employeeInfoEntity.getDegree(); //学历
//
////        1：研究生，2：大学本科，3：大专，4：中专，5：技校，6：高中，7：初中，8：小学，9：文盲
//        String degreeName = "";
//        if ("1".equals(degree)) {
//            degreeName = "研究生";
//        }
//        if ("2".equals(degree)) {
//            degreeName = "大学本科";
//        }
//        if ("3".equals(degree)) {
//            degreeName = "大专";
//        }
//        if ("4".equals(degree)) {
//            degreeName = "中专";
//        }
//        if ("5".equals(degree)) {
//            degreeName = "技校";
//        }
//        if ("6".equals(degree)) {
//            degreeName = "高中";
//        }
//        if ("7".equals(degree)) {
//            degreeName = "初中";
//        }
//        if ("8".equals(degree)) {
//            degreeName = "小学";
//        }
//        if ("9".equals(degree)) {
//            degreeName = "文盲";
//        }
//        if ("10".equals(degree)) {
//            degreeName = "博士";
//        }
//
//        JSONObject filed24 = new JSONObject();
//        filed24.put("id", "degree");
//        filed24.put("value", degreeName);
//
//        String workAddress = employeeInfoEntity.getWorkAddress();//工作地点
//        JSONObject filed25 = new JSONObject();
//        filed25.put("id", "workplace");
//        filed25.put("value", workAddress);
//
////        劳动合同/实习/返聘期限
////选择列表：1：1个月，2：2个月，3：3个月，4：半年，5：1年，6：2年，7：3年"
//        Integer labor = bpmEntity.getLaborContractYears();
//        if (labor == null) {
//            labor = 3;
//        }
//        String laborYear = "";
//        if (labor.equals(0)) {
//            laborYear = "半年";
//        }
//        if (labor.equals(1)) {
//            laborYear = "1年";
//        }
//
//        if (labor.equals(2)) {
//            laborYear = "2年";
//        }
//        if (labor.equals(3)) {
//            laborYear = "3年";
//        }
//
//        JSONObject filed26 = new JSONObject();
//        filed26.put("id", "laborContractYears");
//        filed26.put("value", laborYear);
//
//
//        String speciality = employeeInfoEntity.getSpeciality();  //专业
//
//        JSONObject filed27 = new JSONObject();
//        filed27.put("id", "speciality");
//        filed27.put("value", speciality);
//
////首次工作时间
//        JSONObject filed28 = new JSONObject();
//        filed28.put("id", "beginworkdate");
//        filed28.put("value", DateUtils.format(employeeInfoEntity.getBeginworkdate(), DateUtils.DATE_PATTERN));
//
//
//        //员工类型
//        JSONObject filed29 = new JSONObject();
//        String jobType = bpmEntity.getJobType();
//        String jobTypeName = "";
//        if ("0".equals(jobType)) {
//            jobTypeName = "全日制用工";
//        }
//        if ("1".equals(jobType)) {
//            jobTypeName = "非全日制用工";
//        }
//        if ("2".equals(jobType)) {
//            jobTypeName = "劳务派遣用工";
//        }
//        if ("3".equals(jobType)) {
//            jobTypeName = "退休返聘";
//        }
//        if ("4".equals(jobType)) {
//            jobTypeName = "管培生";
//        }
//        if ("5".equals(jobType)) {
//            jobTypeName = "实习生";
//        }
//        filed29.put("id", "emptype");
//        filed29.put("value", jobTypeName);
//
//
//        Long oldCompanyId = bpmEntity.getOldCompanyId();
//        String oldOrgName = jobController.getOrgNameById(oldCompanyId);
//        JSONObject filed30 = new JSONObject();
//        filed30.put("id", "oldorgname");
//        filed30.put("value", oldOrgName); //原公司
//
//
//        Long oldDepartmentId = bpmEntity.getOldDepartmentId(); //原部门
//        String oldDepName = jobController.getOrgNameById(oldDepartmentId);
//        JSONObject filed31 = new JSONObject();
//        filed31.put("id", "oldunitname");
//        filed31.put("value", oldDepName); //原部门
//
//
//        Long oldJobLevelId = bpmEntity.getOldJobLevelId(); //原职级
//        String oldJobLevelName = jobController.getJobLevelNameById(oldJobLevelId);
//        JSONObject filed32 = new JSONObject();
//        filed32.put("id", "oldjoblevel");
//        filed32.put("value", oldJobLevelName);
//
//
//        Long orgId = bpmEntity.getOrgId(); //复职公司
//        String orgName = jobController.getOrgNameById(orgId);
//        JSONObject filed33 = new JSONObject();
//        filed33.put("id", "reorgname");
//        filed33.put("value", orgName);
//
//
//        Long unitId = bpmEntity.getUnitId();//复职部门
//        String unitIdName = jobController.getOrgNameById(unitId);
//        JSONObject filed34 = new JSONObject();
//        filed34.put("id", "reunitname");
//        filed34.put("value", unitIdName);
//
//
//        Long levelId = bpmEntity.getJobLevelId(); //复职职级
//        String levelNameById = jobController.getJobLevelNameById(levelId);
//        JSONObject filed35 = new JSONObject();
//        filed35.put("id", "rejoblevel");
//        filed35.put("value", levelNameById);
//
//
////录用岗位
//        Long jobId = bpmEntity.getJobId();
//        String jobName = jobController.getJobName(jobId);
//        JSONObject filed39 = new JSONObject();
//        filed39.put("id", "jobname");
//        filed39.put("value", jobName);
//
//
////拟入职日期
//        JSONObject filed40 = new JSONObject();
//        filed40.put("id", "hiredate");
//        Date hiredate = bpmEntity.getHiredate();
//        if (hiredate != null) {
//            filed40.put("value", DateUtils.format(hiredate, DateUtils.DATE_PATTERN));
//        }
//
////试用期
//        JSONObject filed41 = new JSONObject();
//        filed41.put("id", "probationday");
//        filed41.put("value", bpmEntity.getProbationday() + "个月");
//
////试用期月薪
//
//
//        //原单位月薪
//        JSONObject filed49 = new JSONObject();
//        filed49.put("id", "beforesalary");
//        filed49.put("value", bpmEntity.getOldSalary());
//
////        试用期月薪
//        JSONObject filed491 = new JSONObject();
//        filed491.put("id", "probationsalary");
//        filed491.put("value", bpmEntity.getProMonthSalary());
//
////试用期基本工资
//        JSONObject filed492 = new JSONObject();
//        filed492.put("id", "probationbasicsalary");
//        filed492.put("value", bpmEntity.getProBasicSalary());
//
////试用期模块工资
//        JSONObject filed493 = new JSONObject();
//        filed493.put("id", "probationmodulesalary");
//        filed493.put("value", bpmEntity.getProPerformanceSalary());
//
////转正月薪
//        JSONObject filed494 = new JSONObject();
//        filed494.put("id", "regularsalary");
//        filed494.put("value", bpmEntity.getMonthlySalary());
////转正基本工资
//        JSONObject filed495 = new JSONObject();
//        filed495.put("id", "regularbasicsalary");
//        filed495.put("value", bpmEntity.getBasicSalary());
//
////转正模块工资
//        JSONObject filed496 = new JSONObject();
//        filed496.put("id", "regularmodulesalary");
//        filed496.put("value", bpmEntity.getPerformance());
//
//        //        原月薪
//        JSONObject filed52 = new JSONObject();
//        filed52.put("id", "oldsalary");
//        filed52.put("value", bpmEntity.getBeforeSalary());
//
//        //        原基本工资
//        JSONObject filed53 = new JSONObject();
//        filed53.put("id", "oldbasicsalary");
//        filed53.put("value", bpmEntity.getBeforeBasicSalary());
//
//        //        原模块工资
//        JSONObject filed54 = new JSONObject();
//        filed54.put("id", "oldmodulesalary");
//        filed54.put("value", bpmEntity.getBeforePerformanceSalary());
//
//
//        //是否社保异地代缴
//        Integer isRemoteSocialSecurity = bpmEntity.getIsRemoteSocialSecurity();
//        Integer n = 1;
//        JSONObject filed50 = new JSONObject();
//        filed50.put("id", "isremote");
//        filed50.put("value", n.equals(isRemoteSocialSecurity) ? "是" : "否");
//
////        代缴省市
//        String city = bpmEntity.getSocialSecurityCity();
//        Long l = null;
//        if (!StringUtils.isEmpty(city)) {
//            l = TypeCastUtils.toLong(city);
//        }
//        String paycity = jobController.getPaycity(l);
//
//        String province = bpmEntity.getSocialSecurityProvince();
//        Long s = null;
//        if (!StringUtils.isEmpty(province)) {
//            s = TypeCastUtils.toLong(province);
//        }
//        String payprovince = jobController.getPaycity(s);
//
//        String payAddr = "";
//
//        if (!StringUtils.isEmpty(payprovince) && !StringUtils.isEmpty(paycity)) {
//            payAddr = payprovince + paycity;
//        }
//        if (!StringUtils.isEmpty(payprovince) && payprovince.equals(paycity)) {
//            payAddr = payprovince;
//        }
//        Integer f = 0;
//        if (f.equals(isRemoteSocialSecurity)) {
//            payAddr = "";
//        }
//
//
//        JSONObject filed51 = new JSONObject();
//        filed51.put("id", "paycity");
//        filed51.put("value", payAddr);
//
//
//// 招聘类型
//
//        String socialTrainee = employeeInfoEntity.getSocialTrainee();
//
//        String emp = "";
//
//        if ("0".equals(socialTrainee)) {
//            emp = "社招";
//        }
//        if ("1".equals(socialTrainee)) {
//            emp = "实习生";
//        }
//
//        JSONObject filed60 = new JSONObject();
//        filed60.put("id", "jobType");
//        filed60.put("value", emp);
//
//
//        //        流程类型
//        JSONObject filed58 = new JSONObject();
//        filed58.put("id", "sptype");
//        filed58.put("value", sptype);
//
//
//        //        备注
//        JSONObject filed59 = new JSONObject();
//        filed59.put("id", "remark");
//        filed59.put("value", bpmEntity.getEmpRemark());
//
//        jsonArray.add(filed01);
//       // jsonArray.add(filed111);
//        jsonArray.add(filed2);
//        jsonArray.add(filed20);
//        jsonArray.add(filed21);
//        jsonArray.add(filed22);
//        jsonArray.add(filed23);
//        jsonArray.add(filed24);
//        jsonArray.add(filed25);
//        jsonArray.add(filed26);
//        jsonArray.add(filed27);
//        jsonArray.add(filed28);
//        jsonArray.add(filed29);
//        jsonArray.add(filed30);
//        jsonArray.add(filed31);
//        jsonArray.add(filed32);
//        jsonArray.add(filed33);
//        jsonArray.add(filed34);
//        jsonArray.add(filed35);
////        jsonArray.add(filed36);
////        jsonArray.add(filed37);
////        jsonArray.add(filed38);
//        jsonArray.add(filed39);
//        jsonArray.add(filed40);
//        jsonArray.add(filed41);
//
//        jsonArray.add(filed49);
//        jsonArray.add(filed491);
//        jsonArray.add(filed492);
//        jsonArray.add(filed493);
//        jsonArray.add(filed494);
//        jsonArray.add(filed495);
//        jsonArray.add(filed496);
//        jsonArray.add(filed50);
//        jsonArray.add(filed51);
//        jsonArray.add(filed52);
//        jsonArray.add(filed53);
//        jsonArray.add(filed54);
//        jsonArray.add(filed58);
//        jsonArray.add(filed59);
//        jsonArray.add(filed60);
//
//
//        return jsonArray;
//
//
//    }
//
//
//    /**
//     * 封装复职员工(小于一年)录用bpm参数
//     *
//     * @param bpmEntity
//     * @return
//     */
//    private JSONArray getReHireBpmLessThanOneYear(EmployeeBpmEntity bpmEntity, HttpServletRequest request) throws Exception {
//        Long oid = bpmEntity.getOid();
//
//        EmployeeSalaryBandMonitoringDto monitoringDto = findEmployeeSalaryBand(oid, request).getData();
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(oid);
//        Integer isReinstate = bpmEntity.getIsReinstate();
//
//        //        if (ObjectUtils.isEmpty(monitoringDto)){
////            throw new RException("薪资带宽为空");
////        }
//        if (ObjectUtils.isEmpty(monitoringDto)) {
//            monitoringDto = new EmployeeSalaryBandMonitoringDto();
//            monitoringDto.setJobLevelId(14517408l);
//            monitoringDto.setBandSalaryimit(new BigDecimal(15000));
//
//        }
//
//        log.info("monitoringDto:{}", monitoringDto);
//        Long jobLevelId = monitoringDto.getJobLevelId();
//        BigDecimal x1 = bpmEntity.getMonthlySalary();
//        BigDecimal x2 = bpmEntity.getOldSalary();
//        BigDecimal x3 = monitoringDto.getBandSalaryimit();
//        if (x1 == null) {
//            x1 = new BigDecimal(10000);
////            throw new RException("薪资不能为空");
//        }
//        if (x2 == null) {
//            x2 = new BigDecimal(10000);
////            throw new RException("原单位薪资不能为空");
//        }
//        if (x3 == null) {
//            x3 = new BigDecimal(20000);
////            throw new RException("薪资带宽不能为空");
//        }
//
//        BigDecimal x3_130 = x3.multiply(new BigDecimal(1.3)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int i = x1.compareTo(x3_130);// -1,表示小于，0 等于，1 大于
//        BigDecimal x2_130 = x2.multiply(new BigDecimal(1.3)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int j = x2_130.compareTo(x3_130);
//        BigDecimal x3_150 = x3.multiply(new BigDecimal(1.5)).setScale(0, BigDecimal.ROUND_HALF_UP);
//        int k = x1.compareTo(x3_150);
//
//
//        String sptype = "4";
//
////        If 0<X1<(X3+X3*30%)
////      And(X2*1.3)<=(X3+X3*30%)
//
//        if (i < 0 && j <= 0) {
//            sptype = "3";
//        }
////        (X3+X3*30%)<X1<=(X3+X3*50%)
////      And (X2*1.3)<=(X3+X3*30%)
//        if (i > 0 && k <= 0 && j <= 0) {
//            sptype = "2";
//
//        }
//
//
////        If 0<X1<(X3+X3*30%)
////      And(X2*1.3)<=(X3+X3*30%)
//
//        if (i < 0 && j <= 0) {
//            sptype = "3";
//        }
////        (X3+X3*30%)<X1<=(X3+X3*50%)
////      And (X2*1.3)<=(X3+X3*30%)
//        if (i > 0 && k <= 0 && j <= 0) {
//            sptype = "2";
//
//        }
////        If  X1>(X3+X3*50%)
////    (X2*1.3)<=(X3+X3*30%)
//
//
//        if (k > 0 && j <= 0) {
//            sptype = "1";
//        }
//
//
//        Integer w = 1;
//        Integer e = 2;
//
//
//        JSONArray jsonArray = new JSONArray();
//
//
////区分是集团还是区域
//
//
////        Long orgId1 = employeeInfoEntity.getOrgId();
////        Boolean group = isGroup(orgId1);
////        String isGroup = "2";  //1：集团，2：区域
////        if (group) {
////            isGroup = "1";
////            ;
////        }
////
////
////        JSONObject filed111 = new JSONObject();
////        filed111.put("id", "isgroup");
////        filed111.put("value", isGroup);
//
//        JSONObject filed01 = new JSONObject();
//        filed01.put("id", "type");
//        filed01.put("value", "离职小于一年");
//
//        String gender = employeeInfoEntity.getGender();  //性别
//        JSONObject filed2 = new JSONObject();
//        filed2.put("id", "gender");
//        filed2.put("value", "1".equals(gender) ? "男" : "女");
//
//        String name = employeeInfoEntity.getName();
//        JSONObject filed20 = new JSONObject();
//        filed20.put("id", "name");
//        filed20.put("value", name);
//
//        Date birthday = employeeInfoEntity.getBirthday(); //出生年月
//        JSONObject filed21 = new JSONObject();
//        filed21.put("id", "birthday");
//        filed21.put("value", DateUtils.format(birthday, DateUtils.DATE_PATTERN));
//
//        String nationalityId = employeeInfoEntity.getNationality(); //民族
//        String nationality = jobController.getNationality(nationalityId);
//        JSONObject filed22 = new JSONObject();
//        filed22.put("id", "nationality");
//        filed22.put("value", nationality);
//
//        String marital = employeeInfoEntity.getMarital(); //婚否
//        JSONObject filed23 = new JSONObject();
//        filed23.put("id", "marital");
//        filed23.put("value", "1".equals(marital) ? "未婚" : "已婚");
//
//
//        String degree = employeeInfoEntity.getDegree(); //最高学历
//
////        1：研究生，2：大学本科，3：大专，4：中专，5：技校，6：高中，7：初中，8：小学，9：文盲
//        String degreeName = "";
//        if ("1".equals(degree)) {
//            degreeName = "研究生";
//        }
//        if ("2".equals(degree)) {
//            degreeName = "大学本科";
//        }
//        if ("3".equals(degree)) {
//            degreeName = "大专";
//        }
//        if ("4".equals(degree)) {
//            degreeName = "中专";
//        }
//        if ("5".equals(degree)) {
//            degreeName = "技校";
//        }
//        if ("6".equals(degree)) {
//            degreeName = "高中";
//        }
//        if ("7".equals(degree)) {
//            degreeName = "初中";
//        }
//        if ("8".equals(degree)) {
//            degreeName = "小学";
//        }
//        if ("9".equals(degree)) {
//            degreeName = "文盲";
//        }
//        if ("10".equals(degree)) {
//            degreeName = "博士";
//        }
//
//        JSONObject filed24 = new JSONObject();
//        filed24.put("id", "degree");
//        filed24.put("value", degreeName);
//
//        String workAddress = employeeInfoEntity.getWorkAddress();//工作地点
//        JSONObject filed25 = new JSONObject();
//        filed25.put("id", "workplace");
//        filed25.put("value", workAddress);
//
//        //        劳动合同/实习/返聘期限
////选择列表：0：半年，1：1年，2：2年，3：3年"
//        Integer labor = bpmEntity.getLaborContractYears();
//        if (labor == null) {
//            labor = 3;
//        }
//        String laborYear = "";
//        if (labor.equals(0)) {
//            laborYear = "半年";
//        }
//        if (labor.equals(1)) {
//            laborYear = "1年";
//        }
//
//        if (labor.equals(2)) {
//            laborYear = "2年";
//        }
//        if (labor.equals(3)) {
//            laborYear = "3年";
//        }
////        if (labor.equals(4)) {
////            laborYear = "半年";
////        }
////
////        if (labor.equals(5)) {
////            laborYear = "1年";
////        }
////        if (labor.equals(6)) {
////            laborYear = "2年";
////        }
////        if (labor.equals(7)) {
////            laborYear = "3年";
////        }
//
//        JSONObject filed26 = new JSONObject();
//        filed26.put("id", "laborContractYears");
//        filed26.put("value", laborYear);
//
//
//        String speciality = employeeInfoEntity.getSpeciality();  //专业
//
//        JSONObject filed27 = new JSONObject();
//        filed27.put("id", "speciality");
//        filed27.put("value", speciality);
//
////首次工作时间
//        JSONObject filed28 = new JSONObject();
//        filed28.put("id", "beginworkdate");
//        filed28.put("value", DateUtils.format(employeeInfoEntity.getBeginworkdate(), DateUtils.DATE_PATTERN));
//
//
//        //员工类型
//        JSONObject filed29 = new JSONObject();
//        String jobType = bpmEntity.getJobType();
//        String jobTypeName = "";
//        if ("0".equals(jobType)) {
//            jobTypeName = "全日制用工";
//        }
//        if ("1".equals(jobType)) {
//            jobTypeName = "非全日制用工";
//        }
//        if ("2".equals(jobType)) {
//            jobTypeName = "劳务派遣用工";
//        }
//        if ("3".equals(jobType)) {
//            jobTypeName = "退休返聘";
//        }
//        if ("4".equals(jobType)) {
//            jobTypeName = "管培生";
//        }
//        if ("5".equals(jobType)) {
//            jobTypeName = "实习生";
//        }
//        filed29.put("id", "emptype");
//        filed29.put("value", jobTypeName);
//
////招聘类型
//
//        String socialTrainee = employeeInfoEntity.getSocialTrainee();
//
//        String emp = "";
//
//        if ("0".equals(socialTrainee)) {
//            emp = "社招";
//        }
//        if ("1".equals(socialTrainee)) {
//            emp = "实习生";
//        }
//
//        JSONObject filed60 = new JSONObject();
//        filed60.put("id", "jobType");
//        filed60.put("value", emp);
//
//
//        Long oldCompanyId = bpmEntity.getOldCompanyId();
//        String oldOrgName = jobController.getOrgNameById(oldCompanyId);
//        JSONObject filed30 = new JSONObject();
//        filed30.put("id", "oldorgname");
//        filed30.put("value", oldOrgName); //原公司
//
//
//        Long oldDepartmentId = bpmEntity.getOldDepartmentId(); //原部门
//        String oldDepName = jobController.getOrgNameById(oldDepartmentId);
//        JSONObject filed31 = new JSONObject();
//        filed31.put("id", "oldunitname");
//        filed31.put("value", oldDepName); //原部门
//
//
//        Long oldJobLevelId = bpmEntity.getOldJobLevelId(); //原职级
//        String oldJobLevelName = jobController.getJobLevelNameById(oldJobLevelId);
//        JSONObject filed32 = new JSONObject();
//        filed32.put("id", "oldjoblevel");
//        filed32.put("value", oldJobLevelName);
//
//
//        Long orgId = bpmEntity.getOrgId(); //复职公司
//        String orgName = jobController.getOrgNameById(orgId);
//        JSONObject filed33 = new JSONObject();
//        filed33.put("id", "reorgname");
//        filed33.put("value", orgName);
//
//
//        Long unitId = bpmEntity.getUnitId();//复职部门
//        String unitIdName = jobController.getOrgNameById(unitId);
//        JSONObject filed34 = new JSONObject();
//        filed34.put("id", "reunitname");
//        filed34.put("value", unitIdName);
//
//
//        Long levelId = bpmEntity.getJobLevelId(); //复职职级
//        String levelNameById = jobController.getJobLevelNameById(levelId);
//        JSONObject filed35 = new JSONObject();
//        filed35.put("id", "rejoblevel");
//        filed35.put("value", levelNameById);
//
//
////录用岗位
//        Long jobId = bpmEntity.getJobId();
//        String jobName = jobController.getJobName(jobId);
//        JSONObject filed39 = new JSONObject();
//        filed39.put("id", "jobname");
//        filed39.put("value", jobName);
//
//
////拟入职日期
//        JSONObject filed40 = new JSONObject();
//        filed40.put("id", "hiredate");
//        Date hiredate = bpmEntity.getHiredate();
//        if (hiredate != null) {
//            filed40.put("value", DateUtils.format(hiredate, DateUtils.DATE_PATTERN));
//        }
////试用期
//        JSONObject filed41 = new JSONObject();
//        filed41.put("id", "probationday");
//        filed41.put("value", bpmEntity.getProbationday() + "个月");
//
//
//        //原单位月薪
//        JSONObject filed49 = new JSONObject();
//        filed49.put("id", "oldsalary");
//        filed49.put("value", bpmEntity.getOldSalary());
//
//        //是否社保异地代缴
//
//        //是否社保异地代缴
//        Integer isRemoteSocialSecurity = bpmEntity.getIsRemoteSocialSecurity();
//        Integer n = 1;
//        JSONObject filed50 = new JSONObject();
//        filed50.put("id", "isremote");
//        filed50.put("value", n.equals(isRemoteSocialSecurity) ? "是" : "否");
//
////        代缴省市
//        String payAddr = "";
//        //当是异地代缴才需要传省市，页面传参为null的时候数据库值并不会更改，这里传入旧数据就有问题，选择代缴时新数据则会覆盖旧数据
//        if(bpmEntity.getIsRemoteSocialSecurity() == 1){
//            Long l = null;
//            Long s = null;
//            String city = bpmEntity.getSocialSecurityCity();
//            if (!StringUtils.isEmpty(city)) {
//                l = TypeCastUtils.toLong(city);
//            }
//
//            String paycity = jobController.getPaycity(l);
//
//            String province = bpmEntity.getSocialSecurityProvince();
//
//            if (!StringUtils.isEmpty(province)) {
//                s = TypeCastUtils.toLong(province);
//            }
//            String payprovince = jobController.getPaycity(s);
//
//            if (!StringUtils.isEmpty(payprovince) && !StringUtils.isEmpty(paycity)) {
//                payAddr = payprovince + paycity;
//            }
//            if (!StringUtils.isEmpty(payprovince) && payprovince.equals(paycity)) {
//                payAddr = payprovince;
//            }
//            Integer f = 0;
//            if (f.equals(isRemoteSocialSecurity)) {
//                payAddr = "";
//            }
//        }
//
//        JSONObject filed51 = new JSONObject();
//        filed51.put("id", "paycity");
//        filed51.put("value", payAddr);
//
//
//        //        原月薪
//        JSONObject filed52 = new JSONObject();
//        filed52.put("id", "beforesalary");
//        filed52.put("value", bpmEntity.getBeforeSalary());
//
//        //        原基本工资
//        JSONObject filed53 = new JSONObject();
//        filed53.put("id", "oldbasicsalary");
//        filed53.put("value", bpmEntity.getBeforeBasicSalary());
//
//        //        原模块工资
//        JSONObject filed54 = new JSONObject();
//        filed54.put("id", "oldmodulesalary");
//        filed54.put("value", bpmEntity.getBeforePerformanceSalary());
//
//
//        JSONObject filed55 = new JSONObject();
//        JSONObject filed56 = new JSONObject();
//        JSONObject filed57 = new JSONObject();
//        //        复职月薪
//        filed55.put("id", "resalary");
//        filed55.put("value", bpmEntity.getAfterSalary());
//        //        复职基本工资
//
//        filed56.put("id", "rebasicsalary");
//        filed56.put("value", bpmEntity.getAfterBasicSalary());
//        //        复职模块工资
//
//        filed57.put("id", "remodulesalary");
//        filed57.put("value", bpmEntity.getAfterPerformanceSalary());
//        jsonArray.add(filed55);
//        jsonArray.add(filed56);
//        jsonArray.add(filed57);
//
//
//        //        流程类型
//        JSONObject filed58 = new JSONObject();
//        filed58.put("id", "sptype");
//        filed58.put("value", sptype);
//
//
//        //        备注
//        JSONObject filed59 = new JSONObject();
//        filed59.put("id", "remark");
//        filed59.put("value", bpmEntity.getEmpRemark());
//
////        jsonArray.add(filed0);
//
//       // jsonArray.add(filed111);
//        jsonArray.add(filed2);
//        jsonArray.add(filed01);
////        jsonArray.add(filed17);
//        jsonArray.add(filed20);
//        jsonArray.add(filed21);
//        jsonArray.add(filed22);
//        jsonArray.add(filed23);
//        jsonArray.add(filed24);
//        jsonArray.add(filed25);
//        jsonArray.add(filed26);
//        jsonArray.add(filed27);
//        jsonArray.add(filed28);
//        jsonArray.add(filed29);
//        jsonArray.add(filed30);
//        jsonArray.add(filed31);
//        jsonArray.add(filed32);
//        jsonArray.add(filed33);
//        jsonArray.add(filed34);
//        jsonArray.add(filed35);
////        jsonArray.add(filed36);
////        jsonArray.add(filed37);
////        jsonArray.add(filed38);
//        jsonArray.add(filed39);
//        jsonArray.add(filed40);
//
//
//        jsonArray.add(filed49);
//        jsonArray.add(filed50);
//        jsonArray.add(filed51);
//        jsonArray.add(filed52);
//        jsonArray.add(filed53);
//        jsonArray.add(filed54);
//        jsonArray.add(filed58);
//        jsonArray.add(filed59);
//        jsonArray.add(filed60);
//
//
//        return jsonArray;
//
//
//    }
//
//    /**
//     * 判断是否是集团 ，true：集团，false:区域
//     *
//     * @param orgid
//     * @return
//     */
////    public Boolean isGroup(Long orgid) {
////        List<Long> hq = jobController.orgAllChildrenMap.get(328323L);
////        hq.add(328339L);
////        hq.add(39789156L);
////        hq.add(13768315L);
////        hq.add(75039191L); //监事会
////        if (hq.contains(orgid)) {
////            return true;
////        } else {
////            return false;
////        }
////    }
//
//    /**
//     * 判断是否是集团 ，true：集团，false:区域
//     *
//     * @param orgid
//     * @return
//     */
//    public Boolean isGroup(Long orgid) {
//        List<Long> hq = jobController.orgAllChildrenMap.get(328323L);
//        List<IsGroupEntity> isGroupEntityList = isGroupDao.selectList(new QueryWrapper<IsGroupEntity>().eq("is_delete", 0));
//        if (!CollectionUtils.isEmpty(isGroupEntityList)) {
//            for (IsGroupEntity isGroupEntity : isGroupEntityList) {
//                hq.addAll(jobController.orgAllChildrenMap.get(isGroupEntity.getOrgId()));
//            }
//        }
//        if (hq.contains(orgid)) {
//            return true;
//        } else {
//            return false;
//        }
//    }
//
//
//    public JSONArray getAwardApplicantInfoParam(AwardApplicantEntity awardApplicantEntity) {
//        JSONArray jsonArray = new JSONArray();
//        List<JSONObject> reAndPu = jobDaoMssql.findReAndPu();
//        Map<Long, String> mapPu = new HashMap<>();
//        for (JSONObject jsonObject : reAndPu) {
//            mapPu.put(jsonObject.getLong("id"), jsonObject.getString("name"));
//        }
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "orgname");
//        jsonObj1.put("value", awardApplicantEntity.getOrgname());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "awardType");
//        //  jsonObj2.put("value", mapPu.get(awardApplicantEntity.getAwardType()));
//        jsonObj2.put("value", 0 == awardApplicantEntity.getAwardType() ? "奖励" : "罚款");
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "distributionAmount");
//        jsonObj3.put("value", awardApplicantEntity.getDistributionAmount() == null ? "0" : awardApplicantEntity.getDistributionAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj3);
//
//        return jsonArray;
//    }
//
//    public JSONArray getSubOverWorkParam(SubEmployeeOverworkEntity subEmployeeOverworkEntity) {
//        JSONArray jsonArray = new JSONArray();
//
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "employeeName");
//        jsonObj1.put("value", subEmployeeOverworkEntity.getEmployeeName());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "orgName");
//        //  jsonObj2.put("value", mapPu.get(awardApplicantEntity.getAwardType()));
//        jsonObj2.put("value", subEmployeeOverworkEntity.getOrgName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "corpName");
//        jsonObj3.put("value", subEmployeeOverworkEntity.getCorpName());
//        jsonArray.add(jsonObj3);
//
//        return jsonArray;
//    }
//
//    public JSONArray getAwardInfoParam(AwardInfoEntity awardInfoEntity, List<ImgUrlEntity> imgUrlEntities) {
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "employeeCode");
//        jsonObj1.put("value", awardInfoEntity.getEmployeeCode());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "employeeName");
//        jsonObj2.put("value", awardInfoEntity.getEmployeeName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "orgname");
//        jsonObj3.put("value", awardInfoEntity.getOrgname());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "unitname");
//        jsonObj4.put("value", awardInfoEntity.getUnitname());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "awardRemark");
//        jsonObj5.put("value", awardInfoEntity.getAwardRemark());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "awardType");
//        if (0 == awardInfoEntity.getAwardType()) {
//            jsonObj6.put("value", "奖励");
//        } else {
//            jsonObj6.put("value", "罚款");
//        }
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "awardamount");
//        jsonObj7.put("value", awardInfoEntity.getAmount() == null ? "0" : awardInfoEntity.getAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "proportionOne");
//        jsonObj8.put("value", awardInfoEntity.getProportionOne() == null ? "0" : awardInfoEntity.getProportionOne().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj8);
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "amountOne");
//        jsonObj9.put("value", awardInfoEntity.getAmountOne() == null ? "0" : awardInfoEntity.getAmountOne().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj9);
//
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "monthOne");
//        if (awardInfoEntity.getMonthOne() != null)
//            jsonObj10.put("value", DateUtils.format(awardInfoEntity.getMonthOne(), DateUtils.DATE_PATTERN));
//        jsonArray.add(jsonObj10);
//
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj11.put("id", "proportionTwo");
//        jsonObj11.put("value", awardInfoEntity.getProportionTwo() == null ? "0" : awardInfoEntity.getProportionTwo().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj11);
//
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "amountTwo");
//        jsonObj12.put("value", awardInfoEntity.getAmountTwo() == null ? "0" : awardInfoEntity.getAmountTwo().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj12);
//
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "monthTwo");
//        if (awardInfoEntity.getMonthTwo() != null)
//            jsonObj13.put("value", DateUtils.format(awardInfoEntity.getMonthTwo(), DateUtils.DATE_PATTERN));
//        jsonArray.add(jsonObj13);
//
//
//        return jsonArray;
//    }
//
//    public JSONArray getAwardPackageParam(AwardPackageEntity awardPackageEntity) {
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//
//        List<JSONObject> reAndPu = jobDaoMssql.findReAndPu();
//        Map<Long, String> mapPu = new HashMap<>();
//        for (JSONObject jsonObject : reAndPu) {
//            mapPu.put(jsonObject.getLong("id"), jsonObject.getString("name"));
//        }
//        jsonObj1.put("id", "applicantName");
//        jsonObj1.put("value", awardPackageEntity.getApplicantName());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "unitName");
//        jsonObj2.put("value", jobController.getOrgNameById(awardPackageEntity.getUnitId()));
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "applyTime");
//        jsonObj3.put("value", DateUtils.format(awardPackageEntity.getApplyTime()));
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "orgName");
//        jsonObj4.put("value", jobController.getOrgNameById(awardPackageEntity.getOrgId()));
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "type");
//        jsonObj5.put("value", mapPu.get(awardPackageEntity.getType()));
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "totalAmount");
//        jsonObj6.put("value", awardPackageEntity.getTotalAmount() == null ? "0" : awardPackageEntity.getTotalAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "awardName");
//        jsonObj7.put("value", awardPackageEntity.getAwardName());
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "remark");
//        jsonObj8.put("value", awardPackageEntity.getRemark());
//        jsonArray.add(jsonObj8);
//
//
//        return jsonArray;
//    }
//
//    public JSONArray getOverWorkParam(EmployeeOverworkEntity employeeOverworkEntity) {
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//
////        List<JSONObject> reAndPu = jobDaoMssql.findReAndPu();
//        Map<Long, String> mapPu = new HashMap<>();
//
//        jsonObj1.put("id", "createTime");
//        jsonObj1.put("value", employeeOverworkEntity.getCreateTime());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "oprationName");
//        jsonObj2.put("value", employeeOverworkEntity.getOprationName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "corpName");
//        jsonObj3.put("value", employeeOverworkEntity.getCorpName());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "orgName");
//        jsonObj4.put("value", employeeOverworkEntity.getOrgName());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "jobName");
//        jsonObj5.put("value", employeeOverworkEntity.getJobName());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "levelName");
//        jsonObj6.put("value", employeeOverworkEntity.getLevelName());
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "overworkType");
//        jsonObj7.put("value", employeeOverworkEntity.getOverworkType());
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "overworkBeginTime");
//        jsonObj8.put("value", employeeOverworkEntity.getOverworkBeginTime());
//        jsonArray.add(jsonObj8);
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj8.put("id", "overworkEndTime");
//        jsonObj8.put("value", employeeOverworkEntity.getOverworkEndTime());
//        jsonArray.add(jsonObj9);
//
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj8.put("id", "overworkTotalTime");
//        jsonObj8.put("value", employeeOverworkEntity.getOverworkTotalTime());
//        jsonArray.add(jsonObj10);
//
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj8.put("id", "overworkRemark");
//        jsonObj8.put("value", employeeOverworkEntity.getOverworkRemark());
//        jsonArray.add(jsonObj11);
//
//
//        return jsonArray;
//    }
//
//    public JSONArray getAwardApplicantParam(AwardApplicantEntity awardApplicantEntity, List<ImgUrlEntity> imgUrlEntities) {
//        JSONArray jsonArray = new JSONArray();
//        List<JSONObject> reAndPu = jobDaoMssql.findReAndPu();
//        Map<Long, String> mapPu = new HashMap<>();
//        for (JSONObject jsonObject : reAndPu) {
//            mapPu.put(jsonObject.getLong("id"), jsonObject.getString("name"));
//        }
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "awardName");
//        jsonObj1.put("value", awardApplicantEntity.getAwardName());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "type");
//        jsonObj2.put("value", mapPu.get(awardApplicantEntity.getType()));
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "amount");
//        jsonObj3.put("value", awardApplicantEntity.getAmount() == null ? "0" : awardApplicantEntity.getAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "distributionAmount");
//        jsonObj4.put("value", awardApplicantEntity.getDistributionAmount() == null ? "0" : awardApplicantEntity.getDistributionAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "orgname");
//        jsonObj5.put("value", awardApplicantEntity.getOrgname());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "reservedType");
//        if (0 == awardApplicantEntity.getReservedType()) {
//            jsonObj6.put("value", "奖励");
//        } else {
//            jsonObj6.put("value", "罚款");
//        }
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "reservedAmount");
//        jsonObj7.put("value", awardApplicantEntity.getReservedAmount() == null ? "0" : awardApplicantEntity.getReservedAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "remark");
//        jsonObj8.put("value", awardApplicantEntity.getRemark());
//        jsonArray.add(jsonObj8);
//        return jsonArray;
//    }
//
//
//    public JSONArray getDimissionAudit(DimissionAuditEntity dimissionAuditEntity) {
//        JSONArray jsonArray = new JSONArray();
//
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "applyTime");
//        jsonObj1.put("value", DateUtils.format(dimissionAuditEntity.getApplyTime()));
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "name");
//        jsonObj2.put("value", dimissionAuditEntity.getName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "orgname");
//        jsonObj3.put("value", dimissionAuditEntity.getOrgname());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "unitname");
//        jsonObj4.put("value", dimissionAuditEntity.getUnitname());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "jobname");
//        jsonObj5.put("value", dimissionAuditEntity.getJobname());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "managementJoblevel");
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "professionJoblevel");
//        if (2 == dimissionAuditEntity.getJobLevelType()) {
//            jsonObj6.put("value", dimissionAuditEntity.getJobLevel());
//            jsonObj7.put("value", "");
//        } else {
//            jsonObj6.put("value", "");
//            jsonObj7.put("value", dimissionAuditEntity.getJobLevel());
//        }
//        jsonArray.add(jsonObj6);
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "remark");
//        jsonObj8.put("value", dimissionAuditEntity.getRemark());
//        jsonArray.add(jsonObj8);
//
////        JSONObject jsonObj9 = new JSONObject();
////        jsonObj9.put("id", "sptype");
////        jsonObj9.put("value",  dimissionAuditEntity.getSptype());
////        jsonArray.add(jsonObj9);
//
//
//        return jsonArray;
//    }
//
//
//    public JSONArray getEmployeeScondment(EmployeeSecondmentEntity employeeSecondmentEntity) {
//
//        JSONArray jsonArray = new JSONArray();
//
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "name");
//        jsonObj1.put("value", employeeSecondmentEntity.getName());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "orgName");
//        jsonObj2.put("value", jobController.getOrgNameById(employeeSecondmentEntity.getOrgId()));
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "unitName");
//        jsonObj3.put("value", jobController.getOrgNameById(employeeSecondmentEntity.getUnitId()));
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "jobName");
//        jsonObj4.put("value", jobController.getJobName(employeeSecondmentEntity.getJobId()));
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "secondmentOrgName");
//        jsonObj5.put("value", jobController.getOrgNameById(employeeSecondmentEntity.getSecondmentOrgId()));
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "secondmentUnitName");
//        jsonObj6.put("value", jobController.getOrgNameById(employeeSecondmentEntity.getSecondmentUnitId()));
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "secondmentJobName");
//        jsonObj7.put("value", jobController.getJobName(employeeSecondmentEntity.getSecondmentJobId()));
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "outTime");
//        jsonObj8.put("value", DateUtils.format(employeeSecondmentEntity.getOutTime()));
//        jsonArray.add(jsonObj8);
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "expectedEndTime");
//        jsonObj9.put("value", DateUtils.format(employeeSecondmentEntity.getExpectedEndTime()));
//        jsonArray.add(jsonObj9);
//
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "proportion");
//        jsonObj10.put("value", employeeSecondmentEntity.getProportion().setScale(2, BigDecimal.ROUND_HALF_UP));
//        jsonArray.add(jsonObj10);
//
////        JSONObject jsonObj11 = new JSONObject();
////        jsonObj11.put("id", "subsidy");
////        jsonObj11.put("value", employeeSecondmentEntity.getSubsidy().setScale(2, BigDecimal.ROUND_HALF_UP));
////        jsonArray.add(jsonObj11);
//
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "reason");
//        jsonObj12.put("value", employeeSecondmentEntity.getReason());
//        jsonArray.add(jsonObj12);
//
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "beforeSubsidy");
//        jsonObj13.put("value", employeeSecondmentEntity.getBeforeSubsidy() == null ? "0" : employeeSecondmentEntity.getBeforeSubsidy().setScale(2, BigDecimal.ROUND_HALF_UP));
//        jsonArray.add(jsonObj13);
//
//        JSONObject jsonObj14 = new JSONObject();
//        jsonObj14.put("id", "afterSubsidy");
//        jsonObj14.put("value", employeeSecondmentEntity.getBeforeSubsidy() == null ? "0" : employeeSecondmentEntity.getAfterSubsidy().setScale(2, BigDecimal.ROUND_HALF_UP));
//        jsonArray.add(jsonObj14);
//
//        JSONObject jsonObj15 = new JSONObject();
//        jsonObj15.put("id", "beforeSubsidyEnd");
//        jsonObj15.put("value", DateUtils.format(employeeSecondmentEntity.getBeforeSubsidyEnd()));
//        jsonArray.add(jsonObj15);
//
//        JSONObject jsonObj16 = new JSONObject();
//        jsonObj16.put("id", "afterSubsidyStart");
//        jsonObj16.put("value", DateUtils.format(employeeSecondmentEntity.getAfterSubsidyStart()));
//        jsonArray.add(jsonObj16);
//
//        JSONObject jsonObj17 = new JSONObject();
//        jsonObj17.put("id", "afterSubsidyEnd");
//        jsonObj17.put("value", DateUtils.format(employeeSecondmentEntity.getAfterSubsidyEnd()));
//        jsonArray.add(jsonObj17);
//
//
//        return jsonArray;
//    }
//
//
//    //证明开具
//    public JSONArray getCertificate(CertificateEntity certificateEntity, EmployeeInfoEntity employeeInfoEntity) {
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "name");
//        jsonObj1.put("value", certificateEntity.getName());
//        jsonArray.add(jsonObj1);
//
//        String gender = employeeInfoEntity.getGender();  //性别
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "gender");
//        jsonObj2.put("value", "1".equals(gender) ? "男" : "女");
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "unitName");
//        jsonObj3.put("value", jobController.getOrgNameById(certificateEntity.getUnitId()));
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "jobName");
//        jsonObj4.put("value", jobController.getJobName(certificateEntity.getJobId()));
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "employeestatus");
//        //员工状态，2：在职，9：实习，3,4,5,6：离职
//        if ("2".equals(employeeInfoEntity.getEmployeestatus())) {
//            jsonObj5.put("value", "在职");
//        }
//        if ("9".equals(employeeInfoEntity.getEmployeestatus())) {
//            jsonObj5.put("value", "实习");
//        }
//        if ("3".equals(employeeInfoEntity.getEmployeestatus())
//                || "4".equals(employeeInfoEntity.getEmployeestatus())
//                || "5".equals(employeeInfoEntity.getEmployeestatus())
//                || "6".equals(employeeInfoEntity.getEmployeestatus())) {
//            jsonObj5.put("value", "离职");
//        }
//        jsonArray.add(jsonObj5);
//
//        int day = 0;
//        if (employeeInfoEntity.getDimissionTime() != null) {
//            day = DateUtils.daysBetween(employeeInfoEntity.getHiredate(), employeeInfoEntity.getDimissionTime());
//        } else {
//            day = DateUtils.daysBetween(employeeInfoEntity.getHiredate(), new Date());
//        }
//        float num = (float) day / 365;
//        DecimalFormat df = new DecimalFormat("0.0");
//        String result = df.format(num);
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "workingYears");
//        jsonObj6.put("value", result + "年");
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "idcard");
//        jsonObj7.put("value", employeeInfoEntity.getIdcard());
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "jobTitle");
//        jsonObj8.put("value", "");
//        jsonArray.add(jsonObj8);
//
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "hrName");
//        jsonObj9.put("value", "");
//        jsonArray.add(jsonObj9);
//
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "hrContract");
//        jsonObj10.put("value", "");
//        jsonArray.add(jsonObj10);
//
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj11.put("id", "salary");
//        jsonObj11.put("value", "");
//        jsonArray.add(jsonObj11);
//
//        String marital = employeeInfoEntity.getMarital(); //婚否
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "marital");
//        jsonObj12.put("value", "1".equals(marital) ? "未婚" : "已婚");
//        jsonArray.add(jsonObj12);
//
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "workAddress");
//        jsonObj13.put("value", "");
//        jsonArray.add(jsonObj13);
////
////        JSONObject jsonObj16= new JSONObject();
////        jsonObj16.put("id", "isgroup");
////        jsonObj16.put("value",  isGroup(employeeInfoEntity.getOrgId())?"1":"2");
////        jsonArray.add(jsonObj16);
//
//        return jsonArray;
//    }
//
//
//    //离职结算
//    public JSONArray getDimissionSettlement(DimissionSettlementEntity dimissionSettlementEntity, DimissionInfoEntity dimissionInfoEntity, EmployeeInfoEntity employeeInfoEntity, long orgId) {
//
//        JSONArray jsonArray = new JSONArray();
//
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "applyTime");
//        jsonObj1.put("value", DateUtils.format(dimissionSettlementEntity.getApplyTime()));
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "code");
//        jsonObj2.put("value", employeeInfoEntity.getCode());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "name");
//        jsonObj3.put("value", employeeInfoEntity.getName());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "idcard");
//        jsonObj4.put("value", employeeInfoEntity.getIdcard());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "mobile");
//        jsonObj5.put("value", employeeInfoEntity.getMobile());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "orgname");
//        jsonObj6.put("value", jobController.getOrgNameById(employeeInfoEntity.getOrgId()));
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "unitname");
//        jsonObj7.put("value", jobController.getOrgNameById(employeeInfoEntity.getUnitId()));
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "jobname");
//        jsonObj8.put("value", jobController.getJobName(employeeInfoEntity.getJobId()));
//        jsonArray.add(jsonObj8);
//
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "managementJoblevel");
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "professionJoblevel");
//        if (2 == employeeInfoEntity.getJobLevelType()) {
//            jsonObj9.put("value", jobController.getJobLevelNameById(employeeInfoEntity.getJobLevelId()));
//            jsonObj10.put("value", "");
//        } else {
//            jsonObj9.put("value", "");
//            jsonObj10.put("value", jobController.getJobLevelNameById(employeeInfoEntity.getJobLevelId()));
//        }
//        jsonArray.add(jsonObj9);
//        jsonArray.add(jsonObj10);
//
//
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj11.put("id", "hiredate");
//        jsonObj11.put("value", DateUtils.format(employeeInfoEntity.getHiredate()));
//        jsonArray.add(jsonObj11);
//
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "workingYears");
//        jsonObj12.put("value", dimissionInfoEntity.getWorkingYears());
//        jsonArray.add(jsonObj12);
//
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "dimissionTime");
//        jsonObj13.put("value", DateUtils.format(dimissionInfoEntity.getDimissionTime()));
//        jsonArray.add(jsonObj13);
//
//        JSONObject jsonObj14 = new JSONObject();
//        jsonObj14.put("id", "remark");
//        jsonObj14.put("value", dimissionSettlementEntity.getRemark());
//        jsonArray.add(jsonObj14);
//
////        JSONObject jsonObj15 = new JSONObject();
////        jsonObj15.put("id", "sptype");
////        jsonObj15.put("value",  dimissionSettlementEntity.getSptype());
////        jsonArray.add(jsonObj15);
//
////        JSONObject jsonObj16 = new JSONObject();
////        jsonObj16.put("id", "isgroup");
////        jsonObj16.put("value", isGroup(employeeInfoEntity.getOrgId()) ? "1" : "2");
////        jsonArray.add(jsonObj16);
//
//
//        return jsonArray;
//    }
//
//    //调班申请
//    public JSONArray getShift(ShiftEntity shiftEntity) {
//
//        //暂时自定义
//        Map<Integer, String> frequencyMap = new HashMap<Integer, String>();
//        frequencyMap.put(1, "早班");
//        frequencyMap.put(2, "中班");
//        frequencyMap.put(3, "晚班");
//
//
//        JSONArray jsonArray = new JSONArray();
//
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "shiftName");
//        jsonObj1.put("value", shiftEntity.getShiftName());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "shiftCode");
//        jsonObj2.put("value", shiftEntity.getShiftCode());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "shiftOrgName");
//        jsonObj3.put("value", shiftEntity.getShiftOrgName());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "shiftUnitName");
//        jsonObj4.put("value", shiftEntity.getShiftUnitName());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "shiftJobName");
//        jsonObj5.put("value", shiftEntity.getShiftJobName());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "beShiftName");
//        jsonObj6.put("value", shiftEntity.getBeShiftName());
//        jsonArray.add(jsonObj6);
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "beShiftCode");
//        jsonObj7.put("value", shiftEntity.getBeShiftCode());
//        jsonArray.add(jsonObj7);
//
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "beShiftOrgName");
//        jsonObj8.put("value", shiftEntity.getBeShiftOrgName());
//        jsonArray.add(jsonObj8);
//
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "beShiftUnitName");
//        jsonObj9.put("value", shiftEntity.getShiftUnitName());
//        jsonArray.add(jsonObj9);
//
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "beShiftJobName");
//        jsonObj10.put("value", shiftEntity.getBeShiftJobName());
//        jsonArray.add(jsonObj10);
//
//        JSONObject jsonObj111 = new JSONObject();
//        jsonObj111.put("id", "shiftDate");
//        jsonObj111.put("value", DateUtils.format(shiftEntity.getShiftDate()));
//        jsonArray.add(jsonObj111);
//
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "frequency");
//        jsonObj12.put("value", frequencyMap.get(Integer.valueOf(shiftEntity.getFrequency())));
//        jsonArray.add(jsonObj12);
//
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "beFrequency");
//        jsonObj13.put("value", frequencyMap.get(Integer.valueOf(shiftEntity.getBeFrequency())));
//        jsonArray.add(jsonObj13);
//
//        JSONObject jsonObj14 = new JSONObject();
//        jsonObj14.put("id", "reason");
//        jsonObj14.put("value", shiftEntity.getReason());
//        jsonArray.add(jsonObj14);
//        return jsonArray;
//    }
//
//
//    //各种补贴申请
//    public JSONArray getSubsidy(ComputerSubsidyEntity computerSubsidyEntity) {
//
//        JSONArray jsonArray = new JSONArray();
//        //判断是否属于集团
////        JSONObject jsonObj18 = new JSONObject();
////
////        if (isGroup(computerSubsidyEntity.getOrgId())) {
////            jsonObj18.put("id", "isgroup");
////            jsonObj18.put("value", 1);
////            jsonArray.add(jsonObj18);
////        } else {
////            jsonObj18.put("id", "isgroup");
////            jsonObj18.put("value", 2);
////            jsonArray.add(jsonObj18);
////        }
//
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "startDate");
//        jsonObj1.put("value", DateUtils.formatYM(computerSubsidyEntity.getStartDate()));
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "endDate");
//        jsonObj2.put("value", DateUtils.formatYM(computerSubsidyEntity.getEndDate()));
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "duration");
//        jsonObj3.put("value", computerSubsidyEntity.getDuration() + "个月");
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "monthlyAmount");
//        jsonObj4.put("value", computerSubsidyEntity.getMonthlyAmount().setScale(2, BigDecimal.ROUND_HALF_UP));
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "amount");
//        jsonObj5.put("value", computerSubsidyEntity.getMonthlyAmount().multiply(new BigDecimal(computerSubsidyEntity.getDuration())).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "reason");
//        jsonObj12.put("value", computerSubsidyEntity.getReason());
//        jsonArray.add(jsonObj12);
//
//        switch (computerSubsidyEntity.getType()) {
//            case 1:
//                JSONObject jsonObj6 = new JSONObject();
//                jsonObj6.put("id", "invoicePrice");
//                BigDecimal invoicePrice = computerSubsidyEntity.getInvoicePrice();
//                BigDecimal setScale = invoicePrice.setScale(2, BigDecimal.ROUND_HALF_DOWN);
//                jsonObj6.put("value", setScale);
//                jsonArray.add(jsonObj6);
//
//                JSONObject jsonObj7 = new JSONObject();
//                jsonObj7.put("id", "brand");
//                jsonObj7.put("value", computerSubsidyEntity.getBrand());
//                jsonArray.add(jsonObj7);
//
//                JSONObject jsonObj8 = new JSONObject();
//                jsonObj8.put("id", "model");
//                jsonObj8.put("value", computerSubsidyEntity.getModel());
//                jsonArray.add(jsonObj8);
//
//                JSONObject jsonObj9 = new JSONObject();
//                jsonObj9.put("id", "computerCpu");
//                jsonObj9.put("value", computerSubsidyEntity.getComputerCpu());
//                jsonArray.add(jsonObj9);
//
//                JSONObject jsonObj10 = new JSONObject();
//                jsonObj10.put("id", "hardDisk");
//                jsonObj10.put("value", computerSubsidyEntity.getHardDisk());
//                jsonArray.add(jsonObj10);
//
//                JSONObject jsonObj11 = new JSONObject();
//                jsonObj11.put("id", "colour");
//                jsonObj11.put("value", computerSubsidyEntity.getColour());
//                jsonArray.add(jsonObj11);
//
//                JSONObject jsonObj15 = new JSONObject();
//                jsonObj15.put("id", "memoryModule");
//                jsonObj15.put("value", computerSubsidyEntity.getMemoryModule());
//                jsonArray.add(jsonObj15);
//
//                JSONObject jsonObj13 = new JSONObject();
//                jsonObj13.put("id", "postType");
//                if (1 == computerSubsidyEntity.getPostType()) {
//                    jsonObj13.put("value", "技术类岗位");
//                } else {
//                    jsonObj13.put("value", "普通岗位");
//                }
//                jsonArray.add(jsonObj13);
//                break;
//            case 2:
//            case 3:
//            case 4:
//                JSONObject jsonObj14 = new JSONObject();
//                jsonObj14.put("id", "postType");
//                if (2 == computerSubsidyEntity.getType()) {
//                    jsonObj14.put("value", "住房补贴");
//                } else if (3 == computerSubsidyEntity.getType()) {
//                    jsonObj14.put("value", "异地补贴");
//                } else {
//                    jsonObj14.put("value", "其他补贴");
//                }
//                jsonArray.add(jsonObj14);
//
//                JSONObject jsonObj17 = new JSONObject();
//                jsonObj17.put("id", "subsidyLocation");
//                jsonObj17.put("value", computerSubsidyEntity.getSubsidyLocation());
//                jsonArray.add(jsonObj17);
//                break;
//        }
//        return jsonArray;
//    }
//
//
//    public JSONArray getDimissionInfoParamArea(DimissionInfoEntity dimissionInfoEntity, EmployeeInfoEntity employeeInfoEntity) {
//        Map<Integer, String> modeMap = new HashMap<Integer, String>();
//        modeMap.put(0, "辞职");
//        modeMap.put(1, "辞退");
//        modeMap.put(2, "终止、解除合同");
//        modeMap.put(3, "开除、除名");
//        modeMap.put(10, "调到集团外");
//        modeMap.put(11, "死亡");
//        modeMap.put(12, "其他");
//
//        Map<Integer, String> dimissionTypeMap = new HashMap<Integer, String>();
//        dimissionTypeMap.put(0, "主动离职");
//        dimissionTypeMap.put(1, "被动离职");
//
//        Map<Integer, String> evaluateMap = new HashMap<Integer, String>();
//        evaluateMap.put(1, "优良");
//        evaluateMap.put(2, "很好");
//        evaluateMap.put(3, "普通");
//        evaluateMap.put(4, "一般");
//        evaluateMap.put(5, "很糟");
//
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "applyTime");
//        jsonObj1.put("value", DateUtils.format(dimissionInfoEntity.getApplyTime()));
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj18 = new JSONObject();
//        jsonObj18.put("id", "code");
//        jsonObj18.put("value", employeeInfoEntity.getCode());
//        jsonArray.add(jsonObj18);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "name");
//        jsonObj2.put("value", employeeInfoEntity.getName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "orgname");
//        jsonObj3.put("value", jobController.getOrgNameById(employeeInfoEntity.getOrgId()));
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "unitname");
//        jsonObj4.put("value", jobController.getOrgNameById(employeeInfoEntity.getUnitId()));
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "jobname");
//        jsonObj5.put("value", jobController.getJobName(employeeInfoEntity.getJobId()));
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "managementJoblevel");
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "professionJoblevel");
//        if (2 == employeeInfoEntity.getJobLevelType()) {
//            jsonObj6.put("value", jobController.getJobLevelNameById(employeeInfoEntity.getJobLevelId()));
//            jsonObj7.put("value", "");
//        } else {
//            jsonObj6.put("value", "");
//            jsonObj7.put("value", jobController.getJobLevelNameById(employeeInfoEntity.getJobLevelId()));
//        }
//        jsonArray.add(jsonObj6);
//        jsonArray.add(jsonObj7);
//
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "hiredate");
//        jsonObj9.put("value", DateUtils.format(employeeInfoEntity.getHiredate()));
//        jsonArray.add(jsonObj9);
//
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "workingYears ");
//        jsonObj10.put("value", dimissionInfoEntity.getWorkingYears());
//        jsonArray.add(jsonObj10);
//
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj11.put("id", "dimissionTime");
//        jsonObj11.put("value", DateUtils.format(dimissionInfoEntity.getDimissionTime()));
//        jsonArray.add(jsonObj11);
//
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "mode");
//        jsonObj12.put("value", modeMap.get(Integer.valueOf(dimissionInfoEntity.getMode())));
//        jsonArray.add(jsonObj12);
//
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "dimissionType");
//        jsonObj13.put("value", dimissionTypeMap.get(Integer.valueOf(dimissionInfoEntity.getDimissionType())));
//        jsonArray.add(jsonObj13);
//
//        JSONObject jsonObj14 = new JSONObject();
//        jsonObj14.put("id", "secrecy");
//        jsonObj14.put("value", dimissionInfoEntity.getSecrecy());
//        jsonArray.add(jsonObj14);
//
//        JSONObject jsonObj15 = new JSONObject();
//        jsonObj15.put("id", "liquidatedDamages");
//        jsonObj15.put("value", dimissionInfoEntity.getLiquidatedDamages());
//        jsonArray.add(jsonObj15);
//
//        JSONObject jsonObj16 = new JSONObject();
//        jsonObj16.put("id", "whereabouts");
//        jsonObj16.put("value", dimissionInfoEntity.getWhereabouts());
//        jsonArray.add(jsonObj16);
//
//        JSONObject jsonObj17 = new JSONObject();
//        jsonObj17.put("id", "reason");
//        jsonObj17.put("value", dimissionInfoEntity.getReason());
//        jsonArray.add(jsonObj17);
//
//        JSONObject jsonObj19 = new JSONObject();
//        jsonObj19.put("id", "sptype");
//        jsonObj19.put("value", dimissionInfoEntity.getSptype());
//        jsonArray.add(jsonObj19);
//
//        JSONObject jsonObj20 = new JSONObject();
//        jsonObj20.put("id", "spervisorCoaching");
//        jsonObj20.put("value", evaluateMap.get(dimissionInfoEntity.getSpervisorCoaching()));
//        jsonArray.add(jsonObj20);
//
//        JSONObject jsonObj21 = new JSONObject();
//        jsonObj21.put("id", "slaryCompensation");
//        jsonObj21.put("value", evaluateMap.get(dimissionInfoEntity.getSlaryCompensation()));
//        jsonArray.add(jsonObj21);
//
//        JSONObject jsonObj22 = new JSONObject();
//        jsonObj22.put("id", "operatingHours");
//        jsonObj22.put("value", evaluateMap.get(dimissionInfoEntity.getOperatingHours()));
//        jsonArray.add(jsonObj22);
//
//        JSONObject jsonObj23 = new JSONObject();
//        jsonObj23.put("id", "trainingObtained");
//        jsonObj23.put("value", evaluateMap.get(dimissionInfoEntity.getTrainingObtained()));
//        jsonArray.add(jsonObj23);
//
//        JSONObject jsonObj24 = new JSONObject();
//        jsonObj24.put("id", "promotionOpportunity");
//        jsonObj24.put("value", evaluateMap.get(dimissionInfoEntity.getPromotionOpportunity()));
//        jsonArray.add(jsonObj24);
//
//        JSONObject jsonObj25 = new JSONObject();
//        jsonObj25.put("id", "communicationChannel");
//        jsonObj25.put("value", evaluateMap.get(dimissionInfoEntity.getCommunicationChannel()));
//        jsonArray.add(jsonObj25);
//
//        JSONObject jsonObj26 = new JSONObject();
//        jsonObj26.put("id", "isgroup");
//        jsonObj26.put("value", isGroup(employeeInfoEntity.getOrgId()) ? "1" : "2");
//        jsonArray.add(jsonObj26);
//
//
//        return jsonArray;
//    }
//
//    //薪资变动
//    public JSONArray getSalayChangeParam(SalaryChangeEntity salaryChangeEntity, EmployeeInfoEntity employeeInfoEntity) {
//
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "code");
//        jsonObj1.put("value", employeeInfoEntity.getCode());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj18 = new JSONObject();
//        jsonObj18.put("id", "name");
//        jsonObj18.put("value", employeeInfoEntity.getName());
//        jsonArray.add(jsonObj18);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "applyTime");
//        jsonObj2.put("value", DateUtils.format(salaryChangeEntity.getEffectiveTime()));
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "type");
//        jsonObj3.put("value", SalaryConst.salaryTypeMap.get(salaryChangeEntity.getType()));
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "unitname");
//        jsonObj4.put("value", jobController.getOrgNameById(employeeInfoEntity.getUnitId()));
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "jobname");
//        jsonObj5.put("value", jobController.getJobName(employeeInfoEntity.getJobId()));
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "Joblevel");
//        jsonObj6.put("value", jobController.getJobLevelNameById(employeeInfoEntity.getJobLevelId()));
//        jsonArray.add(jsonObj6);
//
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "standardMonthlySalary");
//        jsonObj7.put("value", salaryChangeEntity.getStandardMonthlySalary());
//        jsonArray.add(jsonObj7);
//
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "baseSalary");
//        jsonObj9.put("value", salaryChangeEntity.getBaseSalary());
//        jsonArray.add(jsonObj9);
//
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "moduleSalaryBase ");
//        jsonObj10.put("value", salaryChangeEntity.getModuleSalaryBase());
//        jsonArray.add(jsonObj10);
//
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj11.put("id", "applyAdjustmentMonthlySalary");
//        jsonObj11.put("value", "");
//        jsonArray.add(jsonObj11);
//
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "applyBaseSalary");
//        jsonObj12.put("value", "");
//        jsonArray.add(jsonObj12);
//
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "applyModuleSalaryBase");
//        jsonObj13.put("value", "");
//        jsonArray.add(jsonObj13);
//
//        JSONObject jsonObj14 = new JSONObject();
//        jsonObj14.put("id", "originalAllowanceSubsidy");
//        jsonObj14.put("value", "");
//        jsonArray.add(jsonObj14);
//
//        JSONObject jsonObj15 = new JSONObject();
//        jsonObj15.put("id", "proposedAdjustmentAllowance");
//        jsonObj15.put("value", "");
//        jsonArray.add(jsonObj15);
//
//        JSONObject jsonObj16 = new JSONObject();
//        jsonObj16.put("id", "reason");
//        jsonObj16.put("value", salaryChangeEntity.getRemark());
//        jsonArray.add(jsonObj16);
//
////        JSONObject jsonObj26 = new JSONObject();
////        jsonObj26.put("id", "isgroup");
////        jsonObj26.put("value", isGroup(employeeInfoEntity.getOrgId()) ? "1" : "2");
////        jsonArray.add(jsonObj26);
//
//
//        return jsonArray;
//    }
//
//    public JSONArray getDimissionInfoParam(DimissionInfoEntity dimissionInfoEntity, EmployeeInfoEntity employeeInfoEntity) {
//        Map<Integer, String> modeMap = new HashMap<Integer, String>();
//        modeMap.put(0, "辞职");
//        modeMap.put(1, "辞退");
//        modeMap.put(2, "终止、解除合同");
//        modeMap.put(3, "开除、除名");
//        modeMap.put(10, "调到集团外");
//        modeMap.put(11, "死亡");
//        modeMap.put(12, "其他");
//
//        Map<Integer, String> dimissionTypeMap = new HashMap<Integer, String>();
//        dimissionTypeMap.put(0, "主动离职");
//        dimissionTypeMap.put(1, "被动离职");
//
//        Map<Integer, String> evaluateMap = new HashMap<Integer, String>();
//        evaluateMap.put(1, "优良");
//        evaluateMap.put(2, "很好");
//        evaluateMap.put(3, "普通");
//        evaluateMap.put(4, "一般");
//        evaluateMap.put(5, "很糟");
//
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "application_date");
//        jsonObj1.put("value", DateUtils.format(dimissionInfoEntity.getApplyTime()));
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj18 = new JSONObject();
//        jsonObj18.put("id", "applierDepartment");
//        jsonObj18.put("value", dimissionInfoEntity.getApplyDepartment());
//        jsonArray.add(jsonObj18);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "code");
//        jsonObj2.put("value", employeeInfoEntity.getCode());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "name");
//        jsonObj3.put("value", employeeInfoEntity.getName());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "corporate_name");
//        jsonObj4.put("value", jobController.getOrgNameById(employeeInfoEntity.getOrgId()));
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "department_name");
//        jsonObj5.put("value", jobController.getOrgNameById(employeeInfoEntity.getUnitId()));
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "post");
//        jsonObj6.put("value", jobController.getJobName(employeeInfoEntity.getJobId()));
//        jsonArray.add(jsonObj6);
//
//
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "jobLevelType");
//        jsonObj7.put("value", jobController.getJobLevelNameById(employeeInfoEntity.getJobLevelId()));
//        jsonArray.add(jsonObj7);
//
//
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "hiredate");
//        jsonObj9.put("value", DateUtils.format(employeeInfoEntity.getHiredate()));
//        jsonArray.add(jsonObj9);
//
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "secretary_ling ");
//        jsonObj10.put("value", dimissionInfoEntity.getWorkingYears());
//        jsonArray.add(jsonObj10);
//
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj11.put("id", "dimissionTime");
//        jsonObj11.put("value", DateUtils.format(dimissionInfoEntity.getDimissionTime()));
//        jsonArray.add(jsonObj11);
//
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "mode");
//        jsonObj12.put("value", modeMap.get(Integer.valueOf(dimissionInfoEntity.getMode())));
//        jsonArray.add(jsonObj12);
//
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "dimission_type");
//        jsonObj13.put("value", dimissionTypeMap.get(Integer.valueOf(dimissionInfoEntity.getDimissionType())));
//        jsonArray.add(jsonObj13);
//
//        JSONObject jsonObj14 = new JSONObject();
//        jsonObj14.put("id", "secrecy");
//        jsonObj14.put("value", dimissionInfoEntity.getSecrecy());
//        jsonArray.add(jsonObj14);
//
//        JSONObject jsonObj15 = new JSONObject();
//        jsonObj15.put("id", "liquidated_damages");
//        jsonObj15.put("value", dimissionInfoEntity.getLiquidatedDamages());
//        jsonArray.add(jsonObj15);
//
//        JSONObject jsonObj16 = new JSONObject();
//        jsonObj16.put("id", "whereabouts");
//        jsonObj16.put("value", dimissionInfoEntity.getWhereabouts());
//        jsonArray.add(jsonObj16);
//
//        JSONObject jsonObj17 = new JSONObject();
//        jsonObj17.put("id", "reason");
//        jsonObj17.put("value", dimissionInfoEntity.getReason());
//        jsonArray.add(jsonObj17);
//
//        JSONObject jsonObj19 = new JSONObject();
//        jsonObj19.put("id", "sptype");
//        jsonObj19.put("value", dimissionInfoEntity.getSptype());
//        jsonArray.add(jsonObj19);
//
//        JSONObject jsonObj20 = new JSONObject();
//        jsonObj20.put("id", "spervisorcoaching");
//        jsonObj20.put("value", evaluateMap.get(dimissionInfoEntity.getSpervisorCoaching()));
//        jsonArray.add(jsonObj20);
//
//        JSONObject jsonObj21 = new JSONObject();
//        jsonObj21.put("id", "slarycompensation");
//        jsonObj21.put("value", evaluateMap.get(dimissionInfoEntity.getSlaryCompensation()));
//        jsonArray.add(jsonObj21);
//
//        JSONObject jsonObj22 = new JSONObject();
//        jsonObj22.put("id", "operatinghours");
//        jsonObj22.put("value", evaluateMap.get(dimissionInfoEntity.getOperatingHours()));
//        jsonArray.add(jsonObj22);
//
//        JSONObject jsonObj23 = new JSONObject();
//        jsonObj23.put("id", "trainingobtained");
//        jsonObj23.put("value", evaluateMap.get(dimissionInfoEntity.getTrainingObtained()));
//        jsonArray.add(jsonObj23);
//
//        JSONObject jsonObj24 = new JSONObject();
//        jsonObj24.put("id", "promotionopportunity");
//        jsonObj24.put("value", evaluateMap.get(dimissionInfoEntity.getPromotionOpportunity()));
//        jsonArray.add(jsonObj24);
//
//        JSONObject jsonObj25 = new JSONObject();
//        jsonObj25.put("id", "communicationchannel");
//        jsonObj25.put("value", evaluateMap.get(dimissionInfoEntity.getCommunicationChannel()));
//        jsonArray.add(jsonObj25);
//
//        JSONObject jsonObj26 = new JSONObject();
//        jsonObj26.put("id", "isgroup");
//        jsonObj26.put("value", isGroup(employeeInfoEntity.getOrgId()) ? "1" : "2");
//        jsonArray.add(jsonObj26);
//
//
//        return jsonArray;
//    }
//
//    public JSONArray getPromotionParam(PromotionEntity
//                                               promotionEntity) {
//        JSONArray jsonArray = new JSONArray();
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "date");
//        jsonObj1.put("value", DateUtils.format(new Date(), DateUtils.DATE_PATTERN));
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "beforeJobLevel");
//        jsonObj2.put("value", jobController.jobLevelMap.get(promotionEntity.getBeforeJobLevelId()));
//        JSONObject jsonObj3 = new JSONObject();
//        if ("1".equals(promotionEntity.getBeforeJobType())) {
//            jsonObj3.put("value", "专业职级");
//        } else {
//            jsonObj3.put("value", "管理职级");
//        }
//        jsonObj3.put("id", "beforeJobLevelType");
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "name");
//        jsonObj4.put("value", promotionEntity.getName());
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "beforeJobName");
//        jsonObj5.put("value", jobController.jobMap.get(promotionEntity.getBeforeJobId()));
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "beforeDepartment");
//        jsonObj6.put("value", jobController.orgMap.get(promotionEntity.getBeforeUnitId()));
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "promotionDate");
//        if (promotionEntity.getPromotionDate() != null)
//            jsonObj7.put("value", DateUtils.format(promotionEntity.getPromotionDate(), DateUtils.DATE_PATTERN));
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "promotionType");
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "afterDepartment");
//        jsonObj10.put("value", jobController.orgMap.get(promotionEntity.getAfterUnitId()));
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj11.put("id", "afterJob");
//        jsonObj11.put("value", jobController.jobMap.get(promotionEntity.getAfterJobId()));
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "afterJobLevel");
//        jsonObj12.put("value", jobController.jobLevelMap.get(promotionEntity.getAfterJobLevelId()));
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "beginExpeditionDate");
//        if (promotionEntity.getBeginExpeditionDate() != null)
//            jsonObj13.put("value", DateUtils.format(promotionEntity.getBeginExpeditionDate(), DateUtils.DATE_PATTERN));
//        JSONObject jsonObj14 = new JSONObject();
//        jsonObj14.put("id", "endExpeditionDate");
//        if (promotionEntity.getEndExpeditionDate() != null)
//            jsonObj14.put("value", DateUtils.format(promotionEntity.getEndExpeditionDate(), DateUtils.DATE_PATTERN));
//        JSONObject jsonObj15 = new JSONObject();
//        jsonObj15.put("id", "afterJobLevelType");
//        if ("1".equals(promotionEntity.getAfterJobType())) {
//            jsonObj15.put("value", "专业职级");
//        } else {
//            jsonObj15.put("value", "管理职级");
//        }
//        if (promotionEntity.getPromotionType().equals(1)) {
//            jsonObj8.put("value", "专业职级晋升");
//        } else {
//            jsonObj8.put("value", "管理职级晋升");
//        }
//        JSONObject jsonObj16 = new JSONObject();
//        jsonObj16.put("id", "reason");
//        jsonObj16.put("value", promotionEntity.getReason());
//        jsonArray.add(jsonObj1);
//        jsonArray.add(jsonObj2);
//        jsonArray.add(jsonObj3);
//        jsonArray.add(jsonObj4);
//        jsonArray.add(jsonObj6);
//        jsonArray.add(jsonObj5);
//        jsonArray.add(jsonObj7);
//        jsonArray.add(jsonObj8);
//        jsonArray.add(jsonObj10);
//        jsonArray.add(jsonObj11);
//        jsonArray.add(jsonObj12);
//        jsonArray.add(jsonObj13);
//        jsonArray.add(jsonObj14);
//        jsonArray.add(jsonObj15);
//        jsonArray.add(jsonObj16);
//
//
//        return jsonArray;
//    }
//
//    public JSONArray getResignationFormParameters(DimissionEntity
//                                                          dimissionVo, List<ImgUrlEntity> imgUrlEntities, String jobname, String department) {
//
//
//        //创建json数组
//        JSONArray jsonArray = new JSONArray();
//        //姓名
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "name");
//        jsonObj1.put("value", dimissionVo.getName());
//        //职位名称
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "applierJobName");
//        jsonObj2.put("value", jobname);
//        //申请部门
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "applierDepartment");
//        jsonObj3.put("value", department);
//        //申请日期
//        JSONObject jsonObj9 = new JSONObject();
//        jsonObj9.put("id", "application_date");
//        if (dimissionVo.getApplication_date() != null)
//            jsonObj9.put("value", DateUtils.format(dimissionVo.getApplication_date(), DateUtils.DATE_PATTERN));
//        //工号
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "code");
//        jsonObj4.put("value", dimissionVo.getCode());
//        //公司名称
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "corporate_name");
//        jsonObj5.put("value", jobController.getOrgNameById(dimissionVo.getOrgId()));
//        //部门名称
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "department_name");
//        jsonObj6.put("value", jobController.getOrgNameById(dimissionVo.getUnitId()));
//        //岗位
//        JSONObject jsonObj7 = new JSONObject();
//        jsonObj7.put("id", "post");
//        jsonObj7.put("value", jobController.getOrgNameById(dimissionVo.getJobId()));
//        //职级类别,1:专业职级，2：管理职级
//        JSONObject jsonObj8 = new JSONObject();
//        jsonObj8.put("id", "jobLevelType");
//        if ("1".equals(dimissionVo.getJoblevelType())) {
//            jsonObj8.put("value", "专业职级");
//        } else {
//            jsonObj8.put("value", "管理职级");
//        }
//        //入职日期
//        JSONObject jsonObj10 = new JSONObject();
//        jsonObj10.put("id", "hiredate");
//        if (dimissionVo.getHiredate() != null)
//            jsonObj10.put("value", DateUtils.format(dimissionVo.getHiredate(), DateUtils.DATE_PATTERN));
//        //司龄
//        JSONObject jsonObj11 = new JSONObject();
//        jsonObj11.put("id", "secretary_ling");
//        jsonObj11.put("value", dimissionVo.getSecretary_ling());
//        //离职日期
//        JSONObject jsonObj12 = new JSONObject();
//        jsonObj12.put("id", "dimissionTime");
//        if (dimissionVo.getDimissionTime() != null)
//            jsonObj12.put("value", DateUtils.format(dimissionVo.getDimissionTime(), DateUtils.DATE_PATTERN));
//        //离职方式
//        JSONObject jsonObj13 = new JSONObject();
//        jsonObj13.put("id", "mode");
//        jsonObj13.put("value", dimissionVo.getMode());
//        //离职类型
//        JSONObject jsonObj14 = new JSONObject();
//        jsonObj14.put("id", "dimission_type");
//        jsonObj14.put("value", dimissionVo.getDimission_type());
//        //保密协议
//        JSONObject jsonObj15 = new JSONObject();
//        jsonObj15.put("id", "secrecy");
//        jsonObj15.put("value", dimissionVo.getSecrecy());
//        //违约金补偿
//        JSONObject jsonObj16 = new JSONObject();
//        jsonObj16.put("id", "liquidated_damages");
//        jsonObj16.put("value", dimissionVo.getLiquidated_damages());
//        //离职去向
//        JSONObject jsonObj17 = new JSONObject();
//        jsonObj17.put("id", "whereabouts");
//        jsonObj17.put("value", dimissionVo.getWhereabouts());
//        //主管辅导
//        JSONObject jsonObj18 = new JSONObject();
//        jsonObj18.put("id", "zhudaoScore");
//        if ("1".equals(dimissionVo.getZhudaoScore())) {
//            jsonObj18.put("value", "优良");
//        } else if ("2".equals(dimissionVo.getZhudaoScore())) {
//            jsonObj18.put("value", "良好");
//        } else if ("3".equals(dimissionVo.getZhudaoScore())) {
//            jsonObj18.put("value", "普通");
//        } else if ("4".equals(dimissionVo.getZhudaoScore())) {
//            jsonObj18.put("value", "一般");
//        } else if ("5".equals(dimissionVo.getZhudaoScore())) {
//            jsonObj18.put("value", "很糟");
//        }
//        //薪资报酬
//        JSONObject jsonObj19 = new JSONObject();
//        jsonObj19.put("id", "salaryScore");
//        if ("1".equals(dimissionVo.getSalaryScore())) {
//            jsonObj19.put("value", "优良");
//        } else if ("2".equals(dimissionVo.getSalaryScore())) {
//            jsonObj19.put("value", "良好");
//        } else if ("3".equals(dimissionVo.getSalaryScore())) {
//            jsonObj19.put("value", "普通");
//        } else if ("4".equals(dimissionVo.getSalaryScore())) {
//            jsonObj19.put("value", "一般");
//        } else if ("5".equals(dimissionVo.getSalaryScore())) {
//            jsonObj19.put("value", "很糟");
//        }
//
//        //工作时长
//        JSONObject jsonObj20 = new JSONObject();
//        jsonObj20.put("id", "workTimeScore");
//        if ("1".equals(dimissionVo.getWorkTimeScore())) {
//            jsonObj20.put("value", "优良");
//        } else if ("2".equals(dimissionVo.getWorkTimeScore())) {
//            jsonObj20.put("value", "良好");
//        } else if ("3".equals(dimissionVo.getWorkTimeScore())) {
//            jsonObj20.put("value", "普通");
//        } else if ("4".equals(dimissionVo.getWorkTimeScore())) {
//            jsonObj20.put("value", "一般");
//        } else if ("5".equals(dimissionVo.getWorkTimeScore())) {
//            jsonObj20.put("value", "很糟");
//        }
//
//        //培训获得
//        JSONObject jsonObj21 = new JSONObject();
//        jsonObj21.put("id", "trainGetScore");
//        if ("1".equals(dimissionVo.getTrainGetScore())) {
//            jsonObj21.put("value", "优良");
//        } else if ("2".equals(dimissionVo.getTrainGetScore())) {
//            jsonObj21.put("value", "良好");
//        } else if ("3".equals(dimissionVo.getTrainGetScore())) {
//            jsonObj21.put("value", "普通");
//        } else if ("4".equals(dimissionVo.getTrainGetScore())) {
//            jsonObj21.put("value", "一般");
//        } else if ("5".equals(dimissionVo.getTrainGetScore())) {
//            jsonObj21.put("value", "很糟");
//        }
//
//        //晋升机会
//        JSONObject jsonObj22 = new JSONObject();
//        jsonObj22.put("id", "promotionScore");
//        if ("1".equals(dimissionVo.getPromotionScore())) {
//            jsonObj22.put("value", "优良");
//        } else if ("2".equals(dimissionVo.getPromotionScore())) {
//            jsonObj22.put("value", "良好");
//        } else if ("3".equals(dimissionVo.getPromotionScore())) {
//            jsonObj22.put("value", "普通");
//        } else if ("4".equals(dimissionVo.getPromotionScore())) {
//            jsonObj22.put("value", "一般");
//        } else if ("5".equals(dimissionVo.getPromotionScore())) {
//            jsonObj22.put("value", "很糟");
//        }
//
//        //沟通迟到
//        JSONObject jsonObj23 = new JSONObject();
//        jsonObj23.put("id", "communicationScore");
//        if ("1".equals(dimissionVo.getCommunicationScore())) {
//            jsonObj23.put("value", "优良");
//        } else if ("2".equals(dimissionVo.getCommunicationScore())) {
//            jsonObj23.put("value", "良好");
//        } else if ("3".equals(dimissionVo.getCommunicationScore())) {
//            jsonObj23.put("value", "普通");
//        } else if ("4".equals(dimissionVo.getCommunicationScore())) {
//            jsonObj23.put("value", "一般");
//        } else if ("5".equals(dimissionVo.getCommunicationScore())) {
//            jsonObj23.put("value", "很糟");
//        }
//        //离职原因
//        JSONObject jsonObj24 = new JSONObject();
//        jsonObj24.put("id", "reason");
//        jsonObj24.put("value", dimissionVo.getReason());
//
//        //附件
////        JSONObject jsonObj25 = new JSONObject();
////        jsonObj25.put("imgUrlEntities",imgUrlEntities);
//
//        jsonArray.add(jsonObj1);
//        jsonArray.add(jsonObj2);
//        jsonArray.add(jsonObj3);
//        jsonArray.add(jsonObj9);
//        jsonArray.add(jsonObj4);
//        jsonArray.add(jsonObj6);
//        jsonArray.add(jsonObj5);
//        jsonArray.add(jsonObj7);
//        jsonArray.add(jsonObj8);
//        jsonArray.add(jsonObj10);
//        jsonArray.add(jsonObj11);
//        jsonArray.add(jsonObj12);
//        jsonArray.add(jsonObj13);
//        jsonArray.add(jsonObj14);
//        jsonArray.add(jsonObj15);
//        jsonArray.add(jsonObj16);
//        jsonArray.add(jsonObj17);
//        jsonArray.add(jsonObj18);
//        jsonArray.add(jsonObj19);
//        jsonArray.add(jsonObj20);
//        jsonArray.add(jsonObj21);
//        jsonArray.add(jsonObj22);
//        jsonArray.add(jsonObj23);
//        jsonArray.add(jsonObj24);
////        jsonArray.add(jsonObj25);
//
//        return jsonArray;
//    }
//
//
//    /**
//     * 是否 大于m1/p4
//     *
//     * @param id
//     * @return
//     */
//    public Boolean isJpbLevelIn(Long id) {
//        ArrayList<Long> arrayList = new ArrayList<>();
//        arrayList.add(14517434l);  //p4
//        arrayList.add(14517433l);
//        arrayList.add(14517432l);
//        arrayList.add(14517431l);
//        arrayList.add(14517430l);
//        arrayList.add(14517429l);
//        arrayList.add(14517428l); //p10
//        arrayList.add(14517427l);
//        arrayList.add(14517426l);
//        arrayList.add(14517425l); //p13
//
//
//        arrayList.add(14517424l);//m1
//        arrayList.add(14517423l);
//        arrayList.add(14517422l);
//        arrayList.add(14517421l);
//        arrayList.add(14517420l);
//        arrayList.add(14517419l);
//        arrayList.add(14517418l);
//        arrayList.add(14517417l);
//        arrayList.add(14517416l);
//        arrayList.add(14517415l);
//        arrayList.add(14517414l);
//        arrayList.add(14517413l);
//        arrayList.add(14517412l);
//        arrayList.add(14517411l);
//        arrayList.add(14517410l);
//        arrayList.add(14517409l);
//        arrayList.add(14517408l);
//        arrayList.add(14517407l);
//        arrayList.add(14517406l); //m19
//
//        if (arrayList.contains(id)) {
//            return true;
//        } else {
//            return false;
//        }
//    }
//
//    /**
//     * 是否小于 p7/m7
//     *
//     * @param jobLevelId
//     * @return
//     */
//    private Boolean isBelowM7P7(Long jobLevelId) {
//        ArrayList<Long> arrayList = new ArrayList<>();
//        arrayList.add(14517437l);
//        arrayList.add(14517436l);
//        arrayList.add(14517435l);
//        arrayList.add(14517434l);
//        arrayList.add(14517433l);
//        arrayList.add(14517432l);
//        arrayList.add(14517431l);
//        arrayList.add(14517424l);
//        arrayList.add(14517423l);
//        arrayList.add(14517422l);
//        arrayList.add(14517421l);
//        arrayList.add(14517420l);
//        arrayList.add(14517419l);
//        arrayList.add(14517418l);
//        if (arrayList.contains(jobLevelId)) {
//            return true;
//        } else {
//            return false;
//        }
//    }
//
//    /**
//     * 请假调休参数
//     *
//     * @param infoEntity
//     * @param employeeInfoEntity
//     * @param isRegion
//     * @return
//     */
//    public JSONArray getLeaveParam(LeaveInfoEntity infoEntity, EmployeeInfoEntity employeeInfoEntity,
//                                   boolean isRegion, String range) {
//        Map<Integer, String> typeMap = new HashMap<>();
//        typeMap.put(0, "婚假");
//        typeMap.put(1, "产假");
//        typeMap.put(2, "病假");
//        typeMap.put(3, "丧假");
//        typeMap.put(4, "事假");
//        typeMap.put(5, "补休");
//        typeMap.put(6, "年假");
//        typeMap.put(7, "陪产假");
//        typeMap.put(8, "哺乳假");
//        typeMap.put(9, "产检假");
//        JSONObject object1 = new JSONObject();
//        object1.put("id", "code");
//        object1.put("value", employeeInfoEntity.getCode());
//        JSONObject object2 = new JSONObject();
//        object2.put("id", "name");
//        object2.put("value", employeeInfoEntity.getName());
//        JSONObject object3 = new JSONObject();
//        object3.put("id", "orgname");
//        object3.put("value", jobController.orgMap.get(employeeInfoEntity.getOrgId()));
//        JSONObject object4 = new JSONObject();
//        object4.put("id", "unitname");
//        object4.put("value", jobController.orgMap.get(employeeInfoEntity.getUnitId()));
//        JSONObject object5 = new JSONObject();
//        object5.put("id", "job");
//        object5.put("value", jobController.jobMap.get(employeeInfoEntity.getJobId()));
//        JSONObject object6 = new JSONObject();
//        object6.put("id", "joblevel");
//        object6.put("value", jobController.jobLevelMap.get(employeeInfoEntity.getJobLevelId()));
//        JSONObject object7 = new JSONObject();
//        object7.put("id", "type");
//        object7.put("value", typeMap.get(infoEntity.getType()));
//        JSONObject object8 = new JSONObject();
//        object8.put("id", "leaveDay");
//        object8.put("value", infoEntity.getLeaveDay());
//        JSONObject object9 = new JSONObject();
//        object9.put("id", "leaveBeginTime");
//        if (!ObjectUtils.isEmpty(infoEntity.getLeaveEndTime())) {
//            object9.put("value", DateUtils.format(infoEntity.getLeaveBeginTime(), "yyyy-MM-dd"));
//        }
//        JSONObject object10 = new JSONObject();
//        object10.put("id", "leaveEndTime");
//        if (!ObjectUtils.isEmpty(infoEntity.getLeaveEndTime())) {
//            object10.put("value", DateUtils.format(infoEntity.getLeaveEndTime(), "yyyy-MM-dd"));
//        }
//        JSONObject object11 = new JSONObject();
//        object11.put("id", "remark");
//        object11.put("value", infoEntity.getLeaveRemark());
//        JSONObject object12 = new JSONObject();
//        object12.put("id", "isRegion");
//        object12.put("value", isRegion ? "区域员工" : "集团员工");
//        JSONArray array = new JSONArray();
//        if (!StringUtils.isEmpty(range)) {
//            JSONObject object13 = new JSONObject();
//            object13.put("id", "rankrange");
//            object13.put("value", range);
//            array.add(object13);
//        }
//        array.add(object1);
//        array.add(object2);
//        array.add(object3);
//        array.add(object4);
//        array.add(object5);
//        array.add(object6);
//        array.add(object7);
//        array.add(object8);
//        array.add(object9);
//        array.add(object10);
//        array.add(object11);
//        array.add(object12);
//        return array;
//    }
//
//    private JSONArray getMyGt(LztkDto mygt) {
//        JSONArray jsonArray = new JSONArray();
//
//        JSONObject jsonObj1 = new JSONObject();
//        jsonObj1.put("id", "FaPackName");
//        jsonObj1.put("value", mygt.getFaPackName());
//        jsonArray.add(jsonObj1);
//
//        JSONObject jsonObj2 = new JSONObject();
//        jsonObj2.put("id", "UserName");
//        jsonObj2.put("value", mygt.getUserName());
//        jsonArray.add(jsonObj2);
//
//        JSONObject jsonObj3 = new JSONObject();
//        jsonObj3.put("id", "WorkNo");
//        jsonObj3.put("value", mygt.getWorkNo());
//        jsonArray.add(jsonObj3);
//
//        JSONObject jsonObj4 = new JSONObject();
//        jsonObj4.put("id", "PayPrincipal");
//        jsonObj4.put("value", mygt.getPayPrincipal());
//        jsonArray.add(jsonObj4);
//
//        JSONObject jsonObj5 = new JSONObject();
//        jsonObj5.put("id", "Syje");
//        jsonObj5.put("value", mygt.getSyje());
//        jsonArray.add(jsonObj5);
//
//        JSONObject jsonObj6 = new JSONObject();
//        jsonObj6.put("id", "FactReturnAmount");
//        jsonObj6.put("value", mygt.getFactReturnAmount());
//        jsonArray.add(jsonObj6);
//
//        return jsonArray;
//    }
//
//    public JSONObject getAttachments(JSONObject jsonObject, List<ImgUrlEntity> imgUrlEntities) {
//        if (!CollectionUtils.isEmpty(imgUrlEntities)) {
//
//            JSONArray array = new JSONArray();
//            for (ImgUrlEntity imgUrlEntity : imgUrlEntities) {
//                JSONObject attrObject = new JSONObject();
//                String url1 = imgUrlEntity.getUrl();
//                String[] split = url1.split("----");
//                String name = split[1];
//                attrObject.put("fileName", name); //文件名
//                attrObject.put("fileUrl", url1); //url
//                array.add(attrObject);
//            }
//            jsonObject.put("attachments", array);
//        }
//        return jsonObject;
//    }
//
//    public JSONObject getAttachmentsByUrl(JSONObject jsonObject, String imgUrls) {
//        if (!StringUtils.isEmpty(imgUrls)) {
//            String[] split = imgUrls.split(",");
//            JSONArray array = new JSONArray();
//            for (String url : split) {
//                JSONObject attrObject = new JSONObject();
//                String[] split1 = url.split("----");
//                String name = split1[1];
//                attrObject.put("fileName", name); //文件名
//                attrObject.put("fileUrl", url); //url
//                array.add(attrObject);
//            }
//            jsonObject.put("attachments", array);
//        }
//        return jsonObject;
//    }
//
//    private JSONArray getCredentialParam(CredentialInfoEntity infoEntity) {
//        EmployeeInfoEntity entity = employeeInfoService.getByIdE(infoEntity.getOid());
//        JSONArray array = new JSONArray();
//        JSONObject obj1 = new JSONObject();
//        obj1.put("id", "name");
//        obj1.put("value", entity.getName());
//        array.add(obj1);
//        JSONObject obj2 = new JSONObject();
//        obj2.put("id", "orgname");
//        obj2.put("value", jobController.orgMap.get(entity.getOrgId()));
//        array.add(obj2);
//        JSONObject obj3 = new JSONObject();
//        obj3.put("id", "unitname");
//        obj3.put("value", jobController.orgMap.get(entity.getUnitId()));
//        array.add(obj3);
//        JSONObject obj4 = new JSONObject();
//        obj4.put("id", "job");
//        obj4.put("value", jobController.jobMap.get(entity.getJobId()));
//        array.add(obj4);
//        JSONObject obj5 = new JSONObject();
//        obj5.put("id", "jobSeries");
//        obj5.put("value", infoEntity.getJobSeries());
//        array.add(obj5);
//        JSONObject obj6 = new JSONObject();
//        obj6.put("id", "credentialName");
//        obj6.put("value", infoEntity.getCredentialName());
//        array.add(obj6);
//        JSONObject obj7 = new JSONObject();
//        obj7.put("id", "credentialLevel");
//        obj7.put("value", infoEntity.getCredentialLevel());
//        array.add(obj7);
//        JSONObject obj8 = new JSONObject();
//        obj8.put("id", "company");
//        obj8.put("value", jobController.orgMap.get(infoEntity.getUnitId()));
//        array.add(obj8);
//        JSONObject obj9 = new JSONObject();
//        obj9.put("id", "allowance");
//        obj9.put("value", "");
//        array.add(obj9);
//        JSONObject obj10 = new JSONObject();
//        obj10.put("id", "allowanceTime");
//        obj10.put("value", "");
//        array.add(obj10);
//        return array;
//    }
//
//    public JSONArray getDistributeLeaveParam(DistributeLeaveEntity entity) {
//        JSONArray array = new JSONArray();
//        JSONObject obj1 = new JSONObject();
//        obj1.put("id", "name");
//        obj1.put("value", entity.getName());
//        array.add(obj1);
//        JSONObject obj2 = new JSONObject();
//        obj2.put("id", "orgname");
//        obj2.put("value", jobController.orgMap.get(entity.getOrgId()));
//        array.add(obj2);
//        JSONObject obj3 = new JSONObject();
//        obj3.put("id", "unitname");
//        obj3.put("value", jobController.orgMap.get(entity.getUnitId()));
//        array.add(obj3);
//        JSONObject obj4 = new JSONObject();
//        obj4.put("id", "job");
//        obj4.put("value", jobController.jobMap.get(entity.getJobId()));
//        array.add(obj4);
//        JSONObject obj5 = new JSONObject();
//        obj5.put("id", "leaveBeginTime");
//        obj5.put("value", DateUtils.format(entity.getLeaveBeginTime()));
//        array.add(obj5);
//        JSONObject obj6 = new JSONObject();
//        obj6.put("id", "leaveEndTime");
//        obj6.put("value", DateUtils.format(entity.getLeaveEndTime()));
//        array.add(obj6);
//        JSONObject obj7 = new JSONObject();
//        obj7.put("id", "leaveTime");
//        obj7.put("value", entity.getLeaveTime());
//        array.add(obj7);
//        JSONObject obj8 = new JSONObject();
//        obj8.put("id", "reason");
//        obj8.put("value", entity.getReason());
//        array.add(obj8);
//        return array;
//    }
//
//    @Test
//    public void test() throws Exception {
////
//        String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
//                "<DATA>\n" +
//                "  <businessObjectId><![CDATA[B_HR_DCLYSQ]]></businessObjectId>\n" +
//                "  <businessObjectName><![CDATA[新员工录用审核，发起人]]></businessObjectName>\n" +
//                "  <businessObjectUrl><![CDATA[]]></businessObjectUrl>\n" +
//                "  <businessObjectModifyUrl><![CDATA[]]></businessObjectModifyUrl>\n" +
//                "  <businessObjectVersion><![CDATA[]]></businessObjectVersion>\n" +
//                "  <code><![CDATA[测试]]></code>\n" +
//                "  <name><![CDATA[测试]]></name>\n" +
//                "  <mobile><![CDATA[测试]]></mobile>\n" +
//                "  <department><![CDATA[测试]]></department>\n" +
//                "  <jobname><![CDATA[测试]]></jobname>\n" +
//                "  <managementjoblevel><![CDATA[测试]]></managementjoblevel>\n" +
//                "  <professionjoblevel><![CDATA[测试]]></professionjoblevel>\n" +
//                "  <probationday><![CDATA[测试]]></probationday>\n" +
//                "  <regularizationdate><![CDATA[测试]]></regularizationdate>\n" +
//                "  <contracttype><![CDATA[测试]]></contracttype>\n" +
//                "  <contracttimetype><![CDATA[测试]]></contracttimetype>\n" +
//                "  <hiredate><![CDATA[测试]]></hiredate>\n" +
//                "  <contractdeadline><![CDATA[测试]]></contractdeadline>\n" +
//                "  <system><![CDATA[测试]]></system>\n" +
//                "  <line><![CDATA[测试]]></line>\n" +
//                "  <jobtype><![CDATA[测试]]></jobtype>\n" +
//                "  <oldregularsalary><![CDATA[测试]]></oldregularsalary>\n" +
//                "  <oldperformance><![CDATA[测试]]></oldperformance>\n" +
//                "  <regularsalary><![CDATA[测试]]></regularsalary>\n" +
//                "  <performance><![CDATA[测试]]></performance>\n" +
//                "  <sptype><![CDATA[测试]]></sptype>\n" +
//                "  <oldcompany><![CDATA[测试]]></oldcompany>\n" +
//                "  <olddepartment><![CDATA[测试]]></olddepartment>\n" +
//                "  <oldjob><![CDATA[测试]]></oldjob>\n" +
//                "  <oldjobtype><![CDATA[测试]]></oldjobtype>\n" +
//                "  <oldstatus><![CDATA[测试]]></oldstatus>\n" +
//                "  <oldhiredatel><![CDATA[测试]]></oldhiredatel>\n" +
//                "  <olddimissiondate><![CDATA[测试]]></olddimissiondate>\n" +
//                "  <oldiscentreleader><![CDATA[测试]]></oldiscentreleader>\n" +
//                "  <oldisdepartmentleader><![CDATA[测试]]></oldisdepartmentleader>\n" +
//                "  <status><![CDATA[9]]></status>\n" +
//
//                "</DATA>";
//
//        String s = JSON.toJSONString(xml);
//
//        String businessApplyCode = "ZT028443";
//
//        String s1 = JSON.toJSONString(businessApplyCode);
//        String oid = "123";
//        String s2 = JSON.toJSONString(oid);
//
//        String a = "{\n" +
//                " \"strUserid\":" + s1 + ",\n" +
//                " \"strPassword\":\"\",\n" +
//                " \"strBilluserid\":" + s1 + ",\n" +
//                " \"strBSID\":\"ZT_HR_DCLYSQ\",\n" +
//                " \"strBTID\":\"2055\",\n" +
//                " \"strBOID\":" + s2 + ",\n" +
//                " \"iProcInstID\":\"0\",\n" +
//                " \"strTopic\":\"新员工录用流程,发起人：\",\n" +
//                " \"processxmldata\":" + s + ",\n" +
//                " \"BussinessObject\":\"B_HR_DCLYSQ\"\n" +
//                "\n" +
//                "}";
//
//        String bsid = "ZT_HRSYSTEM";
//        String uid = "ZT028443";
//
//        String str = bsid + "|" + uid + "|" + System.currentTimeMillis();
//        String key = "9d959e2640a74c4ebc9de0260c4e760c";
//        String sign = EncryptUtil.aesEncrypt(str, key);
//        System.out.println(sign);
//
////        System.out.println(a);
//    }
//
//
//    public R<EmployeeSalaryBandMonitoringDto> findEmployeeSalaryBand(Long id,
//                                                                     HttpServletRequest request) throws Exception {
//        EmployeeInfoEntity employeeInfoEntity = employeeInfoService.getByIdE(id);
//        //判断是否为有该公司的权限
//        R checkR = loginController.checkOrgPermission(request, employeeInfoEntity.getUnitId(), true);
//        if (!R.isOk.equals(checkR.getStatus())) {
//            return checkR;
//        }
//        EmployeeSalaryBandMonitoringDto bandMonitoringDto = BeanUtilsMabach.doToDto(employeeInfoEntity, EmployeeSalaryBandMonitoringDto.class);
//        if (ObjectUtils.isEmpty(employeeInfoEntity)) {
//            return R.ok();
//        }
//        Long jobId = employeeInfoEntity.getJobId();
//        Long jobSystemId = employeeInfoEntity.getJobSystemId();
//        Long lineId = employeeInfoEntity.getLineId();
////            Long managementJoblevelId = bandMonitoringDto.getManagementJoblevelId();
////            Long professionJoblevelId = bandMonitoringDto.getProfessionJoblevelId();
//        Long jobLevelId = employeeInfoEntity.getJobLevelId();
//        BigDecimal monthlySalary = employeeInfoEntity.getMonthlySalary();
//
//        log.info("jobId:{}", jobId);
//        log.info("jobSystemId:{}", jobSystemId);
//        log.info("lineId:{}", lineId);
//        log.info("jobLevelId:{}", jobLevelId);
//        log.info("monthlySalary:{}", monthlySalary);
//        BigDecimal bandSalary3th = salaryBandService.findByParam(jobSystemId, lineId, jobLevelId);
//        bandMonitoringDto.setBandSalaryimit(bandSalary3th);
//
//        BigDecimal diff = null;
//        if (bandSalary3th != null) {
////                diff = bandSalary3th.subtract(monthlySalary).setScale(0, BigDecimal.ROUND_HALF_UP);
//            diff = monthlySalary.subtract(bandSalary3th);
//            bandMonitoringDto.setIncreaseValueRate(diff.divide(bandSalary3th, 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP));
//        }
//
//
//        bandMonitoringDto.setDifferenceSalary(diff);
//
//
//        return R.ok(bandMonitoringDto);
//
//    }
//
//    public BpmDataConfigurationEntity getBtid(Long jobSystemId ,Integer typeId){
//
//        List<BpmDataConfigurationEntity> bpmDataConfigurationEntityList= bpmDataConfigurationDao.selectList(new QueryWrapper<BpmDataConfigurationEntity>()
//                .eq(!ObjectUtils.isEmpty(jobSystemId),"job_system_id",jobSystemId).eq("type_id",typeId));
//        if(bpmDataConfigurationEntityList.size()>0){
//            return bpmDataConfigurationEntityList.get(0);
//        }
//        return null;
//    }
//
//
//    @Test
//    public void test4() throws Exception {
//        Long l = System.currentTimeMillis();
//        String str = bsid + "|ZT028443|" + l;
////        String str=bsid+"|ZT028443|1594146598";
//
//        String signature = EncryptUtil.aesEncrypt(str, key);
//
//
//        System.out.println(signature);
//        System.out.println(l);
//
//    }
//
//
//}
